Recording apparatus, recording method, storage medium, program and communication apparatus

ABSTRACT

The present invention relates to a recording apparatus and method as well as a communication apparatus suitable for use where stored contents data of, for example, music tunes are supplied to a semiconductor memory or a portable device. At step S 391,  a C IN/C OUT discriminates whether or not moveout history information is present. If it is discriminated that moveout history information is present, then the processing advances to step S 392  in order to compensate for the interrupted moveout process. At step S 392,  the C IN/C OUT executes a moveout restoration process. At step S 393,  the C IN/C OUT discriminates whether or not movein history information is present. If it is discriminated that movein history information is present, then the processing advances to step S 394  in order to compensate for the interrupted movein process. At step S 394,  the C IN/C OUT executes a movein restoration process. The present invention can be applied, for example, to an audio data server.

TECHNICAL FIELD

The present invention relates to a recording apparatus and method aswell as a communication apparatus, and more particularly to a recordingapparatus and method as well as a communication apparatus suitable foruse where stored contents data of, for example, music tunes are suppliedto a semiconductor memory or a portable device.

BACKGROUND ART

Contents data of music and so forth are present with regard to which thenumber of duplicates that can be produced is limited from the point ofview of protection of the copyright.

If disconnection of power supply or removal of a recording medium occursduring a process of movement of such contents data between differentrecording media, the contents data may possibly remain in both of themovement source side recording medium and the movement destination siderecording medium. Accordingly, there is a subject that, if an ill-mindeduser intentionally causes disconnection of power supply or removal of arecording medium to occur, then there is the possibility that a copy ofthe contents data may be produced illegally.

DISCLOSURE OF THE INVENTION

The present invention has been made taking such a situation as describedabove into consideration, and it is an object of the present inventionto make it possible to prevent production of an illegal duplicate ofcontents data by intentional disconnection of power supply orintentional removal of a recording medium.

A first recording apparatus of the present invention is characterized inthat it includes instruction means for issuing an instruction to movecontents data from a first information storage medium to a secondinformation storage medium, moving means for copying, in response to theinstruction from the instruction means, the contents data recorded onthe first information storage medium onto the second information storagemedium and deleting the contents data recorded on the first informationstorage medium, and restoration means, operable when the series ofprocesses by the moving means is interrupted, for substantiallyrestoring the state before the series of processes by the moving meansis executed or substantially completing the series of interruptedprocesses by the moving means.

The first information storage medium may be a built-in storage medium,and the second information storage medium may be an external storagemedium.

The moving means may include copying means for copying the contents datawhich are recorded on the first information storage medium and whosereproduction is permitted as contents data whose reproduction is notpermitted onto the second information storage medium, production meansfor producing history information which indicates a start of the seriesof processes after the copying by the copying means is completed, firstchanging means for changing the contents data recorded on the firstinformation storage medium into contents data whose reproduction is notpermitted, second changing means for changing the contents data copiedon the second information storage medium by the copying means intocontents data whose reproduction is permitted, erasure means for erasingthe contents data recorded on the first information storage medium, anddeletion means for deleting the history information produced by theproduction means.

Where the first information storage medium is the built-in storagemedium, the restoration means may substantially restore, if the seriesof processes by the moving means is interrupted before the process ofthe first changing means is completed, the state before the series ofprocesses by the moving means is executed, but the restoration means maycomplete, if the series of processes by the moving means is interruptedafter the process of the second changing means is completed, the seriesof interrupted processes by the moving means.

When the process of the first changing means is completed and theprocess of the second changing means is not completed, the restorationmeans may delete the contents data recorded on the first informationstorage medium.

The first information storage medium may be an external storage medium,and the second information storage medium may be a built-in storagemedium.

The moving means may include production means for producing historyinformation which indicates a start of the series of processes, copyingmeans for copying, after the history information is produced by theproduction means, the contents data which are recorded on the firstinformation storage medium and whose reproduction is permitted ascontents data whose reproduction is not permitted onto the secondinformation storage medium, first changing means for changing thecontents data recorded on the first information storage medium intocontents data whose reproduction is not permitted, second changing meansfor changing the contents data copied on the second information storagemedium by the copying means into contents data whose reproduction ispermitted, erasure means for erasing the contents data recorded on thefirst information storage medium, and deletion means for deleting thehistory information produced by the production means.

Where the second information storage medium is the built-in storagemedium, the restoration means may restore, if the series of processes bythe moving means is interrupted before the process of the first changingmeans is completed, the state before the series of processes by themoving means is executed, but the restoration means may substantiallycomplete, if the series of processes by the moving means is interruptedafter the process of the second changing means is completed, the seriesof interrupted processes of the moving means.

When the process of the first changing means is completed and theprocess of the second changing means is not completed, the restorationmeans may delete the contents data recorded on the second informationstorage medium.

A first recording method of the present invention is characterized inthat it includes an instruction step of issuing an instruction to movecontents data from a first information storage medium to a secondinformation storage medium, a moving step of copying, in response to theinstruction issued by the process in the instruction step, the contentsdata recorded on the first information storage medium onto the secondinformation storage medium and deleting the contents data recorded onthe first information storage medium, and a restoration step ofsubstantially restoring, when the process at the moving step isinterrupted, the state before the process at the moving step is executedor substantially completing the interrupted process at the moving step.

A program of a first storage medium of the present invention ischaracterized in that it includes an instruction step of issuing aninstruction to move contents data from a first information storagemedium to a second information storage medium, a moving step of copying,in response to the instruction issued by the process at the instructionstep, the contents data recorded on the first information storage mediumonto the second information storage medium and deleting the contentsdata recorded on the first information storage medium, and a restorationstep of substantially restoring, when the process at the moving step isinterrupted, the state before the process at the moving step is executedor substantially completing the interrupted process at the moving step.

A first program of the present invention is characterized in that itcauses a computer to execute an instruction step of issuing aninstruction to move contents data from a first information storagemedium to a second information storage medium, a moving step of copying,in response to the instruction issued by the process at the instructionstep, the contents data recorded on the first information storage mediumonto the second information storage medium and deleting the contentsdata recorded on the first information storage medium, and a restorationstep of substantially restoring, when the process at the moving step isinterrupted, the state before the process at the moving step is executedor substantially completing the interrupted process at the moving step.

A second recording apparatus of the present invention is characterizedin that it includes instruction means for issuing an instruction to movecontents data from a first information storage medium to a secondinformation storage medium, moving means for copying, in response to theinstruction from the instruction means, the contents data recorded onthe first information storage medium onto the second information storagemedium and deleting the contents data recorded on the first informationstorage medium, and restoration means, operable when the series ofprocesses by the moving means is interrupted, for substantiallyrestoring the state before the series of processes by the moving meansis executed or substantially completing the series of interruptedprocesses by the moving means, and that the moving means includescopying means for copying the contents data which are recorded on thefirst information storage medium and whose reproduction is permitted ascontents data whose reproduction is not permitted onto the secondinformation storage medium, production means for producing historyinformation which indicates a start of the series of processes after thecopying by the copying means is completed, first changing means forchanging the contents data recorded on the first information storagemedium into contents data whose reproduction is not permitted, secondchanging means for changing the contents data copied on the secondinformation storage medium by the copying means into contents data whosereproduction is permitted, erasure means for erasing the contents datarecorded on the first information storage medium, and deletion means fordeleting the history information produced by the production means.

The first information storage medium may be a built-in hard disk drive,and the second information storage medium may be a removable memory or amemory mounted in an electronic apparatus connected to the recordingapparatus.

Where the first information storage medium is the hard disk, therestoration means may substantially restore, if the series of processesby the moving means is interrupted before the process of the firstchanging means is completed, the state before the series of processes bythe moving means is executed, but the restoration means may complete, ifthe series of processes by the moving means is interrupted after theprocess of the second changing means is completed, the series ofinterrupted processes by the moving means.

When the process of the first changing means is completed and theprocess of the second changing means is not completed, the restorationmeans may delete the contents data recorded on the first informationstorage medium.

A third recording apparatus of the present invention is characterized inthat it includes instruction means for issuing an instruction to movecontents data from a first information storage medium to a secondinformation storage medium, moving means for copying, in response to theinstruction from the instruction means, the contents data recorded onthe first information storage medium onto the second information storagemedium and deleting the contents data recorded on the first informationstorage medium, and restoration means, operable when the series ofprocesses by the moving means is interrupted, for substantiallyrestoring the state before the series of processes by the moving meansis executed or substantially completing the series of interruptedprocesses by the moving means, and that the moving means includesproduction means for producing history information which indicates astart of the series of processes, copying means for copying, after thehistory information is produced by the production means, the contentsdata which are recorded on the first information storage medium andwhose reproduction is permitted as contents data whose reproduction isnot permitted onto the second information storage medium, first changingmeans for changing the contents data recorded on the first informationstorage medium into contents data whose reproduction is not permitted,second changing means for changing the contents data copied on thesecond information storage medium by the copying means into contentsdata whose reproduction is permitted, erasure means for erasing thecontents data recorded on the first information storage medium, anddeletion means for deleting the history information produced by theproduction means.

The first information storage medium may be a removable memory or amemory mounted in an electronic apparatus connected to the recordingapparatus, and the second information storage medium may be a built-inhard disk drive.

Where the second information storage medium is the hard disk, therestoration means may substantially restore, if the series of processesby the moving means is interrupted before the process of the firstchanging means is completed, the state before the series of processes bythe moving means is executed, but the restoration means may complete, ifthe series of processes by the moving means is interrupted after theprocess of the second changing means is completed, the series ofinterrupted processes by the moving means.

When the process of the first changing means is completed and theprocess of the second changing means is not completed, the restorationmeans may delete the contents data recorded on the second informationstorage medium.

A fourth recording apparatus of the present invention is characterizedin that it includes an instruction section for issuing an instruction tomove contents data from a first information storage medium to a secondinformation storage medium, a movement control section for copying, inresponse to the instruction from the instruction section, the contentsdata recorded on the first information storage medium onto the secondinformation storage medium and deleting the contents data recorded onthe first information storage medium, and a restoration control sectionoperable, when the series of processes by the movement control sectionis interrupted, for substantially restoring the state before the seriesof processes by the movement control section is executed orsubstantially completing the series of interrupted processes by themovement control section.

The moving means may include a copy control section for copying thecontents data which are recorded on the first information storage mediumand whose reproduction is permitted as contents data whose reproductionis not permitted onto the second information storage medium, aproduction section for producing history information which indicates astart of the series of processes after the copying by the copy controlsection is completed, a first change control section for changing thecontents data recorded on the first information storage medium intocontents data whose reproduction is not permitted, a second changecontrol section for changing the contents data copied on the secondinformation storage medium by the copy control section into contentsdata whose reproduction is permitted, an erasure control section forerasing the contents data recorded on the first information storagemedium, and a deletion control section for deleting the historyinformation produced by the production section.

Where the first information storage medium is a built-in hard disk, therestoration control section may substantially restore, if the series ofprocesses by the movement control section is interrupted before theprocess of the first change control section is completed, the statebefore the series of processes by the movement control section isexecuted, but the restoration control section may complete, if theseries of processes by the movement control section is interrupted afterthe process of the second change control section is completed, theseries of interrupted processes by the movement control section.

When the process of the first change control section is completed andthe process of the second change control section is not completed, therestoration control section may delete the contents data recorded on thefirst information storage medium.

The moving means may include a production section for producing historyinformation which indicates a start of the series of processes, a copycontrol section for copying, after the history information is producedby the production section, the contents data which are recorded on thefirst information storage medium and whose reproduction is permitted ascontents data whose reproduction is not permitted onto the secondinformation storage medium, a first change control section for changingthe contents data recorded on the first information storage medium intocontents data whose reproduction is not permitted, a second changecontrol section for changing the contents data copied on the secondinformation storage medium by the copy control section into contentsdata whose reproduction is permitted, an erasure control section forerasing the contents data recorded on the first information storagemedium, and a deletion control section for deleting the historyinformation produced by the production section.

Where the second information storage medium is a built-in hard diskdrive, the restoration control section may restore, if the series ofprocesses by the movement control section is interrupted before theprocess of the first change control section is completed, the statebefore the series of processes by the movement control section isexecuted, but the restoration control section may substantiallycomplete, if the series of processes by the movement control section isinterrupted after the process of the second change control section iscompleted, the series of interrupted processes of the movement controlsection.

When the process of the first change control section is completed andthe process of the second change control section is not completed, therestoration control section may delete the contents data recorded on thesecond information storage medium.

A first communication apparatus of the present invention ischaracterized in that it includes a storage section capable of storingdata therein, an attribute information storage section for storingattribute information of the data stored in the storage section, aninstruction section for issuing an instruction to move the data storedin the storage section to the information storage medium, a movementcontrol section, operable in response to the instruction, fortransferring the data of the storage section and the attributeinformation corresponding to the data and including an invalidatedreproduction permission flag to the information storage medium,registering history information indicating that the data are beingmoved, changing the reproduction permission flag of the attributeinformation corresponding to the data of the storage section from validto invalid, changing the reproduction permission flag of the attributeinformation corresponding to the data of the information storage mediumfrom invalid to valid, deleting the data of the storage section, anddeleting the registered history information, and a restoration controlsection, operable when the moving process of the data by the movementcontrol section is interrupted, for substantially returning the data ofthe storage section and the data of the information storage medium tothose in a state before the movement control or after completion of themovement by the movement control section.

A second communication apparatus of the present invention ischaracterized in that it includes a storage section capable of storingdata therein, an attribute information storage section for storingattribute information of the data stored in the storage section, aninstruction section for issuing an instruction to move the data storedin the information storage medium to the storage section, a movementcontrol section, operable in response to the instruction, forregistering history information indicating that the data are beingmoved, transferring the data of the information storage medium and theattribute information corresponding to the data and including aninvalidated reproduction permission flag to the storage section,changing the reproduction permission flag of the attribute informationcorresponding to the data of the information storage medium from validto invalid, changing the reproduction permission flag of the attributeinformation corresponding to the data of the storage section frominvalid to valid, deleting the data of the storage medium, and deletingthe registered history information, and a restoration control section,operable when the moving process of the data by the movement controlsection is interrupted, for substantially returning the data of thestorage section and the data of the information storage medium to thosein a state before the movement control or after completion of themovement by the movement control section.

In the first recording apparatus and method as well as the program, inresponse to an instruction to move contents data from the firstinformation storage medium to the second information storage medium, thecontents data recorded in the first information storage medium arecopied onto the second information storage medium, and then the contentsdata recorded on the first information storage medium are erased. If themoving process is interrupted, then either the state before the movingprocess is executed is restored substantially or the interrupted movingprocess is completed substantially.

In the second recording apparatus of the present invention, in responseto an instruction to move contents data from the first informationstorage medium to the second information storage medium, the contentsdata recorded on the first information storage medium are copied ontothe second information storage medium, and then the contents datarecorded on the first information storage medium are erased. If theseries of moving processes is interrupted, then either the state beforethe series of moving processes is executed is restored substantially orthe series of interrupted moving processes is completed substantially.In the moving process, the contents data which are recorded on the firstinformation storage medium and whose reproduction is permitted arecopied as contents data whose reproduction is not permitted onto thesecond information storage medium, and then, after the copying iscompleted, history information which indicates a start of the series ofprocesses is produced. Then, the contents data recorded on the firstinformation storage medium are changed into contents data whosereproduction is not permitted, and the contents data copied on thesecond information storage medium is changed into contents data whosereproduction is permitted. Thereafter, the contents data recorded on thefirst information storage medium are erased, and the history informationproduced is deleted.

In the third recording apparatus of the present invention, in responseto an instruction to move contents data from the first informationstorage medium to the second information storage medium, the contentsdata recorded on the first information storage medium are copied ontothe second information storage medium, and then the contents datarecorded on the first information storage medium are erased. If theseries of moving processes is interrupted, then either the state beforethe series of moving processes is executed is restored substantially orthe series of interrupted moving processes is completed substantially.In the moving process, history information which indicates a start ofthe series of processes is produced, and the contents data which arerecorded on the first information storage medium and whose reproductionis permitted are copied as contents data whose reproduction is notpermitted onto the second information storage medium. Then, the contentsdata recorded on the first information storage medium are changed intocontents data whose reproduction is not permitted, and the contents datacopied on the second information storage medium are changed intocontents data whose reproduction is permitted. Further, the contentsdata recorded on the first information storage medium are erased, andthe history information produced is deleted.

In the fourth recording apparatus of the present invention, in responseto an instruction to move contents data from the first informationstorage medium to the second information storage medium, the contentsdata recorded on the first information storage medium are copied ontothe second information storage medium, and then the contents datarecorded on the first information storage medium are erased. If theseries of moving processes is interrupted, then either the state beforethe series of moving processes is executed is restored substantially orthe series of interrupted moving processes is completed substantially.

In the first communication apparatus of the present invention, inresponse to an instruction to move data stored in the storage section tothe information storage medium, the data of the storage section and theattribute information corresponding to the data and including aninvalidated reproduction permission flag are transferred to theinformation storage medium, and history information indicating that thedata are being moved is registered. Then, the reproduction permissionflag of the attribute information corresponding to the data of thestorage section is changed from valid to invalid, and the reproductionpermission flag of the attribute information corresponding to the dataof the information storage medium is changed from invalid to valid.Thereafter, the data of the storage section are deleted, and theregistered history information is deleted. When the series of datamoving processes is interrupted, the data of the storage section and thedata of the information storage medium are returned substantially tothose in a state before the movement control or after completion of themovement.

In the second communication apparatus of the present invention, inresponse to an instruction to move data stored in the informationstorage medium to the storage section, history information indicatingthat the data are being moved is registered, and the data of theinformation storage medium and attribute information corresponding tothe data and including an invalidated reproduction permission flag istransferred to the storage section. Then, the reproduction permissionflag of the attribute information corresponding to the data of theinformation storage medium is changed from valid to invalid, and thereproduction permission flag of the attribute information correspondingto the data of the storage section is changed from invalid to valid.Thereafter, the data of the storage medium are deleted, and theregistered history information is deleted. When the series of movingprocesses of the data is interrupted, the data of the storage sectionand the data of the information storage medium are returnedsubstantially to those in a state before the movement control or aftercompletion of the movement.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a view showing an outline of an audio server 1 according to anembodiment of the present invention;

FIG. 2 is a view showing an appearance of the audio server 1;

FIG. 3 is a top plan view of the audio server 1;

FIG. 4 is a rear elevational view of the audio server 1;

FIG. 5 is a front elevational view of the audio server 1;

FIG. 6 is a block diagram showing an example of a hardware configurationof the audio server 1;

FIG. 7 is a view showing firmware executed by the audio server 1;

FIG. 8 is a view illustrating an FAT type file system (data format)applied to an HDD 58;

FIG. 9 is a view showing a logic structure of a file recording area 121;

FIG. 10 is a view showing a configuration of an FAT 141;

FIG. 11 is a view showing an example of the FAT 141;

FIG. 12 is a view showing an example of recording of the file recordingarea 121;

FIG. 13 is a view showing a configuration of a size recording area 151;

FIG. 14 is a flow chart illustrating a file preparation process;

FIG. 15 is a flow chart illustrating a free cluster acquisition process;

FIG. 16 is a flow chart illustrating an FAT entry reading out process;

FIG. 17 is a flow chart illustrating a connection process;

FIG. 18 is a flow chart illustrating a reading out process of a file X;

FIG. 19 is a flow chart illustrating a search process of the file X;

FIG. 20 is a flow chart illustrating a reverse reading out process ofthe file X;

FIG. 21 is a view showing a logic structure of an object recording area122;

FIG. 22 is a view showing a configuration of an object type recordingarea 163;

FIG. 23 is a view illustrating an area information recording area 164;

FIG. 24 is a view showing a configuration of an object managementsection 124;

FIG. 25 is a view showing a configuration of session managementinformation 181;

FIG. 26A is a view showing a basic object first type;

FIG. 26B is a view showing a basic object second type;

FIG. 27 is a view showing a configuration of an object identifier;

FIG. 28 is a flow chart illustrating an object preparation process;

FIG. 29 is a flow chart illustrating a session opening process;

FIG. 30 is a flow chart illustrating a free entry securing process;

FIG. 31 is a flow chart illustrating a write session final determinationprocess;

FIG. 32 is a flow chart illustrating a session abandoning process;

FIG. 33 is a flow chart illustrating an object search process;

FIG. 34 is a flow chart illustrating an entry acquisition process;

FIG. 35 is a flow chart illustrating an object updating process;

FIG. 36 is a flow chart illustrating a stream object preparationprocess;

FIG. 37 is a flow chart illustrating a stream object search process;

FIG. 38 is a view showing a directory structure of an object;

FIG. 39 is a view showing a format of a folder list object;

FIG. 40 is a view showing a format of a folder object;

FIG. 41 is a view showing a format of an album object;

FIG. 42 is a view showing a format of a track object;

FIG. 43 is a view showing details of an AC of the track object;

FIG. 44 is a view showing a format of contents data;

FIG. 45 is a view showing a format of a CC object;

FIG. 46 is a view showing a format of CC data;

FIG. 47 is a view showing a flow of data when CD ripping is performed;

FIG. 48 is a view showing a flow of data when CD recording is performed;

FIG. 49 is a view showing a flow of data when HD recording for a digitalinput is performed;

FIG. 50 is a view showing a flow of data when HD recording for an analoginput is performed;

FIG. 51 is a view showing a flow of data when HD play is performed;

FIG. 52 is a view showing a flow of data when CD play is performed;

FIG. 53A is a view showing a flow of data when MS play is performed;

FIG. 53B is a view showing a flow of data when the MS play is performed;

FIG. 54 is a view showing a flow of data when an MS checkout/moveout isperformed;

FIG. 55 is a view showing a flow of data when an MS import/movein isperformed;

FIG. 56 is a view showing a flow of data when PD checkout is performed;

FIG. 57 is a view illustrating the CD ripping;

FIG. 58 is a view illustrating the CD recording;

FIG. 59 is a view illustrating partition of a buffer 56 in the CDripping or the CD recording;

FIG. 60 is a view showing a state transition of each buffer;

FIG. 61 is a view showing a ring buffer 241 provided on the HDD 58;

FIG. 62 is a view illustrating a flow of data between the buffers uponCD ripping;

FIG. 63 is a flow chart illustrating a recording speed setting process;

FIG. 64 is a flow chart illustrating a CD recording process;

FIG. 65 is a flow chart illustrating a ring buffer informationinitialization process;

FIG. 66 is a flow chart illustrating a recording process for one tune;

FIG. 67 is a flow chart illustrating a monitor sound outputting process;

FIG. 68 is a flow chart illustrating a writing process for the ringbuffer;

FIG. 69 is a flow chart illustrating a reading out process for the ringbuffer;

FIG. 70A is a view showing an example of display of a display unit 15when a tune to be recorded is set;

FIG. 70B is a view showing an example of display of the display unit 15during recording;

FIG. 71 is a view illustrating setting of a reproduction area;

FIG. 72 is a view showing an example of a play list;

FIG. 73 is a view showing another example of the play list;

FIG. 74 is a view showing further example of the play list;

FIG. 75 is a view showing a still further example of the play list;

FIG. 76 is a flow chart illustrating a play list preparation process;

FIG. 77 is a flow chart illustrating a repeat reproduction process ofall tunes;

FIG. 78 is a flow chart illustrating a moveout process;

FIG. 79 is a view showing a state transition of the moveout process;

FIG. 80 is a view showing an example of display of the display unit 15in the moveout process;

FIG. 81 is a view showing another example of display of the display unit15 in the moveout process;

FIG. 82 is a flow chart illustrating a movein process;

FIG. 83 is a view showing a state transition of the movein process;

FIG. 84 is a view showing an example of display of the display unit 15in the movein process;

FIG. 85 is a view showing another example of display of the display unit15 in the movein process;

FIG. 86 is a flow chart illustrating a restoration process;

FIG. 87 is a flow chart illustrating a moveout restoration process;

FIG. 88 is a flow chart illustrating a movein restoration process;

FIG. 89 is a flow chart illustrating a checkout process;

FIG. 90 is a view showing an example of display of the display unit 15in the checkout process;

FIG. 91 is a view showing another example of display of the display unit15 in the checkout process;

FIG. 92 is a flow chart illustrating a checkin process;

FIG. 93 is a view showing an example of display of the display unit 15in the checkin process;

FIG. 94 is a flow chart illustrating an exchange process;

FIG. 95 is a view showing an example of display of the display unit 15in the exchange process;

FIG. 96 is a view showing another example of display of the display unit15 in the exchange process;

FIG. 97 is a view showing a further example of display of the displayunit 15 in the exchange process;

FIG. 98 is a block diagram showing an example of a configuration ofhardware of a PD 5;

FIG. 99 is a view showing types of directories and files recorded in anMS 4;

FIG. 100 is a view illustrating a position at which an archive file isrecorded;

FIG. 101 is a flow chart illustrating a store process;

FIG. 102 is a view showing an example of display of the display unit 15in the store process;

FIG. 103 is a view showing another example of display of the displayunit 15 in the store process;

FIG. 104 is a view showing a further example of display of the displayunit 15 in the store process;

FIG. 105 is a flow chart illustrating a restoration process;

FIG. 106 is a view showing an example of display of the display unit 15in the restoration process;

FIG. 107 is a view showing another example of display of the displayunit 15 in the restoration process;

FIG. 108 is a view showing an area configuration of a flash ROM shown inFIG. 6;

FIG. 109 is a flow chart illustrating a program rewriting process; and

FIG. 110 is a flow chart illustrating a process of a startup program.

BEST MODE FOR CARRYING OUT THE INVENTION

In the following, an outline of an audio server according to anembodiment of the present invention is described with reference toFIG. 1. The audio server 1 reads out PCM (Pulse Code Modulation) datarecorded on a music CD 3, and encodes the read out data in accordancewith the ATRAC (Adaptive Transform Acoustic Coding) 3 system. The audioserver 1 records the encoded data obtained by the process into a harddisk drive 58 (FIG. 6), and manages the recorded encoded data in amatched relationship with objects which form a hierarchical structureincluding a folder list, a folder, an album, a track and so forth fromthe higher hierarchy side.

A folder list can include a plurality of folders positioned in ahierarchy lower by one. A folder can include a plurality of albumspositioned in a hierarchy lower by one. An album can include a pluralityof tracks positioned in a hierarchy lower by one. A track positioned inthe lowest hierarchy of the hierarchical structure corresponds in aone-by-one relationship to the encoded data for one tune.

The encoded data is hereinafter referred to also as contents data. Eachof the folder list, folders, albums and tracks is hereinafter referredto also as object. The user designates an object and issues severalcommands. It is to be noted that details of the hierarchical structureof the objects are hereinafter described with reference to FIG. 38.

Further, the audio server 1 reproduces the music CD 3 or decodes encodeddata recorded in the hard disk drive (hereinafter referred to as HDD) 58and outputs a resulting sound signal from a speaker 2.

Further, the audio server 1 records coded data recorded in the HDD 58into a memory stick (trademark) (hereinafter referred to as MS) 4 readyfor a magic gate (trademark) inserted in an MS slot 45 (FIG. 5) or aportable device (hereinafter referred to as PD) 5 such as a networkwalkman (trademark) connected to a connector 43 (FIG. 5) by a checkoutprocess or a moveout process, and records coded data recorded in the MS4 or the PD 5 into the HDD 58 by a checkin process, a movein process oran import process.

Here, the magic gate is a technique for protecting the copyright of datawith two techniques which are encryption of data to be recorded into theMS 4 ready for the magic gate and mutual authentication of the audioserver 1 used with the MS 4 inserted therein, and can prevent illegalcopying, illegal reproduction and illegal falsification of digital audiodata. The magic gate conforms with the SDMI (Secure Digital MusicInitiative) standard.

It is to be noted that the checkout process, checkin process, moveoutprocess, movein process and import process between the audio server 1and the MS 4 or the PD 5 are hereinafter described.

The MS 4 in which coded data are recorded is removed from the audioserver 1 and loaded into, for example, a personal computer 6, by whichthe coded data recorded thereon are read out and decoded.

The PD 5 in which the encoded data are recorded decodes the coded dataand outputs a resulting sound signal from a headphone.

A remote controller 7 receives an operation from the user and transmitsa corresponding control signal to the audio server 1.

Now, an appearance of the audio server 1 is described with reference toFIGS. 2 to 5. FIG. 2 is a view of an appearance of the audio server 1 asviewed from a front upward position. FIG. 3 is a top plan view of theaudio server 1. FIG. 4 is a rear elevational view of the audio server 1.FIG. 5 is a front elevational view of the audio server 1.

A lid 40 for a CD tray (not shown) for receiving a CD is provided on atop face of the audio server 1. As shown in FIG. 3, not only buttonssuch as a power button 11 but also a display unit 15 for displayingseveral kinds of information are disposed on the lid 40. The power(POWER) button 11 is operated to switch on/off the power supply to theaudio server 1. A function (FUNCTION) button 12 is operated to selectany one of the music CD 3, the HDD 58, an AUX input terminal 31, the MS4 and the PD 5 as a sound source.

A play mode (PLAY MODE) button 13 is operated to change a reproductionmode to normal reproduction wherein all tracks included in areproduction area are reproduced successively once, all tune repeatreproduction wherein all tracks included in the reproduction area arerepeatedly reproduced successively, one tune repeat reproduction whereinonly one track is reproduced repeatedly, random repeat reproductionwherein random selection and reproduction are performed repeatedly fromamong all tracks included in the reproduction area, or slot machinereproduction wherein display of an animation which indicates a mannerwherein a track is selected at random from among all tracks included inthe entire HDD and reproduction of the selected track are repeated. Itis to be noted that the reproduction area is hereinafter described withreference to FIG. 71.

A display (DISPLAY) button 14 is operated to change display contents ofthe display unit 15. The display unit 15 formed from an LCD (LiquidCrystal Display) unit displays information relating to an operationsituation or audio data.

A volume (VOLUME) button 16 is operated to increase or decrease thevolume of sound to be outputted. A cursor button 17 is operated to movea cursor displayed on the display unit 15. A select (SELECT) button 18is operated to select an object or the like indicated on the displayunit 15 by the cursor displayed thereon and to change over the ascendingorder or the descending order upon searching. An erase (ERASE) button 19is operated to erase an object such as a track.

An enter (ENTER) button 20 is operated to determine an object such as adisplayed menu, a selected track or the like. A menu/cancel(MENU/CANCEL) button 21 is operated to display several kinds ofoperation menus provided hierarchically or cancel the display. Anexchange (EXCHANGE) button 22 is operated to automatically perform acheckin process or a checkout process for the MS 4 or the PD 5.

A record (RECORD) button 23 is operated to record audio data of themusic CD 3 into the HDD 58 while it is reproduced. A high speed record(HI SPEED RECORD) button 24 is operated to record audio data of themusic CD 3 at a high-speed into the HDD 58. It is to be noted that, alsoin this case, sound of the audio data to be recorded is outputted fromthe speaker 2.

A stop button 25 is operated to stop reproduction or recording beingexecuted. A reproduction/pause button 26 is operated to issue aninstruction for starting of reproduction, reproduction pause orcancellation of such reproduction pause. A head search button 27 isoperated to issue an instruction for a head search of a current track ora preceding track or an instruction for reverse reproduction. Anotherhead search button 28 is operated to issue an instruction for a headsearch of a succeeding track or an instruction for fast reproduction.

It is to be noted that, though not shown, buttons having functionsequivalent to the buttons such as the power button 11 disposed on thelid 40 are disposed on the remote controller 7.

As shown in FIG. 4, an AUX-in terminal 31, a lineout terminal 32, a subwoofer terminal 33, speaker (L, R) terminals 34, a reset button 35 and aDC-in terminal 36 are disposed on the rear face of the audio server 1.

The AUX-in terminal 31 allows connection thereto of an audio outputapparatus (not shown) such that digital audio data or an analog soundsignal can be received from the audio output apparatus connectedthereto. The lineout terminal 32 allows connection thereto of anamplifier (not shown) or the like such that an analog sound signal canbe outputted to the amplifier connected thereto. The sub woofer terminal33 allows connection thereto of a sub woofer (not shown) such that alow-frequency component of a reproduced sound signal can be outputted tothe sub woofer. The speaker (L, R) terminals 34 allow connection theretoof the speakers 2 such that reproduced sound signals can be outputted tothe speakers 2 connected thereto. The reset button 35 is operated toreset the audio server 1. DC power from an AC power adapter (not shown)is supplied to the DC input terminal 36.

As shown in FIG. 5, an open lever 41, a light reception section 42, aconnector 43, an access lamp 44, the MS slot 45, an ejection lever 46and a headphone terminal 47 are disposed on the front face of the audioserver 1. The open lever 41 is slidably operated to open the lid 40. Thelight reception section 42 receives a control signal transmitted fromthe remote controller 7. A USB (Universal Serial Bus) terminal isprovided on the connector 43 such that the PD 5, an external HDD, akeyboard or the like can be connected to the connector 43 through an USBcable.

It is to be noted that an IEEE 1394 terminal may be provided on theconnector 43 such that the PD 5 or the like may be connected to theconnector 43 through an IEEE 1394 cable. Alternatively, a terminal forthe Bluetooth (trademark) or the IEEE 802.11b (that is, a radio LAN) maybe provided such that the PD 5 or the like may be connected by radiocommunication.

The access lamp 44 blinks when readout or writing of data is performedfor the MS 4 inserted in the MS slot 45 or the PD 5 connected to theconnector 43. The MS 4 is inserted into the MS slot 45. The ejectionlever 46 is operated to eject the MS 4 inserted in the MS slot 45. Aheadphone can be connected to the headphone terminal 47 such that areproduced sound signal can be outputted to the connected headphone.

Now, an example of a hardware configuration of the audio server 1 isdescribed with reference to FIG. 6. The audio server 1 has a built-inmain CPU (Central Processing Unit) 51 for controlling the entire audioserver 1. A flash ROM 52, an SDRAM 53, a USB host controller 54, a DMAcontroller 55, a signal processing section 60, an Ethernet (registeredtrademark) controller/connector 67 and a PCMCIA controller 68 areconnected to the main CPU 51 through a bus 66.

An RTOS (Real Time Operating System) 71 (FIG. 7) with which, if thepower supply is switched on, then startup is completed immediately bythe main CPU 51, firmware (Firmware, hereinafter described withreference to FIG. 7) executed on the RTOS 71 in order to implementseveral kinds of functions, an apparatus ID, a cryptographic key and soforth are stored in the flash ROM 52.

The SDRAM (Synchronous Dynamic Random Access Memory) 53 temporarilystores predetermined data and programs when the main CPU 51 performsseveral kinds of processes. The USB host controller 54 controls datacommunication between the audio server 1 and the PD 5 or the likeconnected through the connector 43.

The DMA controller (Direct Memory Access) 55 controls data transferbetween a buffer 56, a CD-ROM drive 57, the HDD 58 and anencoder/decoder 59. The buffer 56 formed from an SDRAM or the liketemporarily buffers data whose transfer is controlled by the DMAcontroller 55. The CD-ROM drive 57 reads out audio data recorded on themusic CD 3 at a CAV eightfold speed. The HDD 58 stores coded dataproduced by the encoder/decoder 59 and so forth.

The encoder/decoder 59 encodes PCM data read out by the CD-ROM drive 57or audio data inputted from the AUX-in terminal 31 at a maximumeightfold speed, at an average fivefold speed, using the ATRAC 3 systemof the 132 Kbps mode, 105 Kbps mode or 66 b Kbps mode to produce codeddata. Further, the encoder/decoder 59 decodes coded data stored in theHDD 58. Furthermore, the encoder/decoder 59 has a DES (Data EncryptionStandard) engine and encrypts coded data using a cryptographic keyproduced based on the apparatus ID of a predetermined part of the audioserver 1 and the time.

For example, if the HDD 58 has a capacity of 9 gigabytes and theencoder/decoder 59 encodes in accordance with the ATRAC 3 system of the105 Kbps mode, approximately 100 music CDs 3 (60 minutes/CD) can berecorded on the HDD 58.

The signal processing section 60 includes a magic gate memory stickinterface (hereinafter referred to as MG MS I/F) 60-1, a watermarkscreen (hereinafter referred to as WM screen) 60-2, an audio I/F 60-3,and a sampling rate converter (hereinafter referred to as SRC) 60-4.

The MG MS I/F 60-1 performs mutual authentication with the MS 4 insertedin the MS slot 45 through an MS connector 61, and executes encryption ofthe data based on a result of the mutual authentication and decryptionof encrypted data. The WM screen 60-2 detects a watermark (electronicwatermark, information representative of permission or inhibition ofcopying or the like) of the SDMI standards embedded in audio data whichpass the signal processing section 60.

The audio I/F 60-3 acquires digital audio data through the AUX-interminal 31 and supplies the digital audio data to the SRC 60-4.Further, the audio I/F 60-3 suitably buffers digital audio datatransferred thereto from the buffer 56 or the like into a buffer 251(FIG. 62) built therein, and then outputs the buffered digital audiodata to an AD/DA 62.

The SRC 60-4 converts the sampling rate of digital audio data from theaudio I/F 60-3 into 44.1 KHz and outputs resulting data to theencoder/decoder 59.

It is to be noted that, though not shown, the signal processing section60 further includes a built-in encoder/decoder of the ATRAC3 systemwhich operates at an equal speed.

The MS connector 61 relays data communication between the MS 4 insertedand the MG MS I/F 60-1. The AD/DA 62 converts digital audio datainputted from the audio I/F 60-3 of the signal processing section 60into an analog sound signal and outputs the analog sound signal to thelineout terminal 32, speaker terminals 34 or headphone terminal 47.Further, the AD/DA 62 converts an analog sound signal inputted theretofrom the AUX-in terminal 31 into a digital signal and outputs thedigital signal to the encoder/decoder 59.

The Ethernet controller/connector 67 controls data communication withsome other electronic apparatus through an Ethernet (trademark). APCMCIA (Personal Computer Memory Card International Association)controller 68 is equipped with an IC card interface of the PCMCIAstandards.

A display driver 63 and a sub CPU 64 are connected to the main CPU 51.The display driver 63 controls display of the display unit 15. The subCPU 64 executes control of a power supply section 65, reset control ofthe body, counting of a built-in clock, detection of an operation of thepower button 11 or the like, control of the light reception section 42,control of the AD/DA 62 and so forth, especially when the power supplyis off. The power supply section 65 converts a DC voltage suppliedthereto from the DC-in terminal 36 into a predetermined voltage andsupplies the predetermined voltage to the entire audio server 1.

Now, firmware which is read out from the flash ROM 52 and executed bythe main CPU 51 in order to actually perform functions of the audioserver 1 described below is described with reference to FIG. 7. It is tobe noted that, while the functions of the audio server 1 include CDripping, CD recording, HD recording (digital input), HD recording(analog input), HD play, CD play, MS play, checkout/checkin, import,moveout/movein and so forth, details of them and correspondence of themto the firmware are hereinafter described with reference to FIGS. 47 to56.

The firmware includes four layers, that is, an application layer (APP)72, an upper middleware layer (UMW) 73, a lower middleware layer (LMW)74 and a device driver layer (DD) 75.

The application layer 72 includes modules of a main application(hereinafter referred to as main APP) 76, a hard disk application(hereinafter referred to as HD APP) 77, a CD application (hereinafterreferred to as CD APP) 78, a memory stick application (hereinafterreferred to as MS APP) 79, a portable device application (hereinafterreferred to as PD APP) 80, and a kana-to-kanji conversion application(hereinafter referred to as FEP (Front End Processor)) 81.

Each of the modules of the application layer 72 issues, in response toan operation of the user which relates to a function that can beexecuted by the audio server 1, a request for a process to acorresponding module of the upper middleware layer 73 and controls thedisplay of a situation of the processing to provide a user interface.

The main APP 76 controls the modules of the application layer 72. Forexample, upon startup, the main APP 76 prepares a startup screen andstarts up the modules. The main APP 76 accepts an operation of the userconveyed from input middleware 97 and notifies a corresponding module ofthe operation. The main APP 76 supplies display data from the modules toa display device driver 105. The main APP 76 executes changeover of eachmodule. The main APP 76 notifies audio IO middleware (AIO) 94 inresponse to an operation for changing the sound volume from the user.The main APP 76 notifies the modules of a set value in response to asetup operation from the user. The main APP 76 retains settinginformation (a play mode and forth) common to the modules. The main APP76 ends the modules in response to an operation for switching off thepower supply, and issues a power supply switching off request to systemcontrol middleware (SYSTEM) 98.

The HD APP 77 accepts an operation for driving the HDD 58 and notifieshard disk middleware 82 of the operation, and acquires an operationstate of the hard disk middleware 82 and prepares display data.

The CD APP 78 accepts an operation for driving the CD-ROM drive 57 andnotifies CD middleware 88 of the operation, and acquires an operationstate of the CD middleware 88 and prepares display data.

The MS APP 79 accepts an operation regarding the MS 4 inserted in the MSslot 45 and notifies MS middleware 89 of the operation, and acquires anoperation state of the MS middleware 89 and prepares display data.

The PD APP 80 accepts an operation regarding the PD 5 connected to theconnector 43 and notifies PD middleware 90 of the operation, andacquires an operation state of the PD middleware 90 and prepares displaydata.

The FEP 81 executes kana-to-kanji conversion when the title of the musicCD 3 to be recorded is inputted.

The upper middleware layer 73 includes the following modules formed bymodeling the functions of the audio server 1 and mounted. In particular,the upper middleware layer 73 includes the hard disk middleware(hereinafter referred to as HD MW) 82, the CD middleware (hereinafterreferred to as CD MW) 88, the MS middleware (hereinafter referred to asMS MW) 89, and the PD middleware (hereinafter referred to as PD MW) 90.

The HD MW 82 includes HDCC 83 for managing coded data stored in the HDD58, CD RIPPING 84 for cooperating with the CD MW 88 to compress andencrypt audio data of the music CD 3 and recording resulting data intothe HDD 58, HD PLAY 85 for cooperating with the audio IO middleware 94to decode and decompress coded data recorded in the HDD 58, HD REC 86for cooperating with the audio IO middleware 94 to compress and encryptaudio data inputted from the AUX-in terminal 31 and recording resultingdata into the HDD 58, and C IN/C OUT 87 for cooperating with the MS MW89 or the PD MW 90 to control checkin or checkout with the MS 4 or thePD 5.

The CD MW 88 causes a CD device driver 102 to control the CD-ROM drive57 to implement functions as a CD player. The MS MW 89 cooperates withthe audio IO middleware 94 and MS file system middleware 95 to implementfunctions as an MS player. The PD MW 90 cooperates with USB hostmiddleware 96 and a USB host device driver 104 to control the PD 5.

The lower middleware layer 74 includes the following modules formed bymodeling functions which can be used commonly by the modules of theupper middleware layer 73 and mounted. That is, the lower middlewarelayer 74 includes hard disk object database middleware (hereinafterreferred to as HD DB) 91, hard disk file system middleware (hereinafterreferred to as HD FS) 92, MGR middleware (MGR) 93, the audio IOmiddleware (AIO) 94, the memory stick file system middleware (MS FS) 95,the USB host middleware (USB) 96, input handle middleware (INPUT) 97,and the system control middleware (SYSTEM) 98. The modules included inthe lower middleware layer 74 are called from the modules which form theupper middleware layer 73.

The device driver layer (DD) 75 includes the following modules obtainedby modeling the hardware devices, that is, a hard disk device driver 99,a decoder/encoder device driver 100, a DMA device driver 101, the CDdevice driver 102, a signal processing section device driver 103, theUSB host device driver 104, the display device driver 105, an audiodevice driver 106, a key device driver 107, a power device driver 108and a clock device driver 109. It is to be noted that, in FIG. 7, themodules from the audio device driver 106 to the clock device driver 109surrounded by a broken line are executed by the sub CPU 64. Each of themodules is principally formed from a library and has an API (ApplicationProgram Interface) which is called from a module included in the uppermiddleware layer 73 or the lower middleware layer 74.

Now, an FAT (File Allocation Table) type file system (data format)applied to the HDD 58 is described with reference to FIGS. 8 to 20. Asshown in FIG. 8, the HDD 58 includes a file recording area 121 forrecording coded data (contents data) as a file, and an object recordingarea 122 into which an object including information for specifying theposition of the contents data which are recorded in the file recordingarea 121.

A file management section 123 executes all processes relating a filesuch as preparation of a file, issuance of an ID for a file to beprepared newly, writing, reading out and deletion with regard to thefile recording area 121, and so forth. The file management section 123corresponds to the HD FS 92 included in the lower middleware layer 74.

An object management section 124 recognizes the physical position of anobject in the object recording area 122 and executes writing, readingout, deletion and so forth of the object. The object management section124 corresponds to the HD DB 91 included in the lower middleware layer74. It is to be noted that management of an object based on a databaseis hereinafter described with reference to FIGS. 21 to 37.

FIG. 9 shows a logical structure of the file recording area 121. Thefile recording area 121 is partitioned into sectors of a predeterminedcapacity which makes a minimum unit in writing and reading out into andfrom the file recording area 121. All sectors have consecutive sectornumbers applied thereto. The file recording area 121 is formed from anFAT area, a system area, and a plurality of clusters each composed of apredetermined number of sectors. Each cluster has a cluster number of afixed length applied thereto. A file recorded in the file recording area121 is formed from a plurality of clusters coupled to each other.

A coupled state of a plurality of clusters is recorded in a table calledFAT 141 (FIG. 10). While the FAT 141 is recorded in the FAT area of thefile recording area 121, it is transferred also to the SDRAM 53 when thefile management section 123 operates.

FIG. 10 shows a structure of the FAT 141. The FAT 141 is formed from anFAT header 142, and a plurality of FAT entries 144 each corresponding toa cluster. The FAT header 142 includes a free cluster list startingnumber recording area 143. In the free cluster list starting numberrecording area 143, the cluster number of a top one of a series of freeclusters in which no data is recorded is recorded. If no free cluster ispresent, then −1=0xFFFFFFFF is recorded in the free cluster liststarting number recording area 143.

To each of the FAT entries 144, an entry number same as the clusternumber applied to a corresponding one of the clusters is applied. Forexample, to an FAT entry corresponding to the cluster number 1, theentry number 1 is applied. In the following description, the FAT entryof the entry number 1 is referred to also as FAT entry E(1). Each of theFAT entries 144 is partitioned into a P column 145 and an N column 146.

In the P column 145 of each FAT entries 144, the cluster number appliedto a cluster connected to the front side of a corresponding one of theclusters is recorded. If a cluster which is connected to the front sideis not present, that is, when the corresponding cluster is the top ofthe file, then 0xFFFFFFFF is recorded in the P column 145.

In the N column 146 of each of the FAT entries 144, the cluster numberapplied to a cluster connected to the rear side of the correspondingcluster is recorded. If a cluster which is connected to the rear side isnot present, that is, when the corresponding cluster is the tail of thefile, 0xFFFFFFFF is recorded in the N column 146.

For example, where only one file is recorded in five clusters having thecluster numbers 1, 5, 6, 8 and 12 applied thereto in the file recordingarea 121, 0xFFFFFFFF representing that a cluster connected to the frontside is not present is recorded in the P column of the FAT entry E(1) ofthe entry number 1 (0x00000001), and the cluster number 5 (0xFFFFFFFF)applied to the cluster connected to the rear side is recorded in the Ncolumn as seen in FIG. 11 In the P column of the FAT entry E(5) of theentry number 5 (0x00000005), the cluster number 1 (0x00000001) appliedto the cluster connected to the front side is recorded, and in the Ncolumn, the cluster number 6 (0x00000006) applied to the clusterconnected to the rear side is recorded.

Also the FAT entries E(6) and E(8) of the entry numbers 6 and 8 havecluster numbers recorded therein similarly.

In the P column of the FAT entry E(12) of the entry number 12(0x0000000C), the cluster number 8 (0x00000008) applied to the clusterconnected to the front side is recorded, and in the N column, 0xFFFFFFFFrepresenting that a cluster connected to the rear side is not present isrecorded.

In the free cluster list starting number recording area 143, since, inthe present case, a series of clusters from the cluster of the clusternumber (0x00000002) to the cluster of the cluster number (0x00000014)are free clusters, the cluster number (0x00000002) representative of thetop of the series of clusters is recorded.

FIG. 12 illustrates a manner wherein one file is recorded in the fiveclusters to which the cluster numbers 1, 5, 6, 8 and 12 are applied. Inthe top cluster (in the present case, the cluster 1) of the file, a sizerecording area 151 for recording information regarding the size of thefile is provided. Data of the file are recorded in the second cluster(in the present case, the cluster 5) and succeeding clusters. It is tobe noted that the size recording area 151 may otherwise be provided inthe last cluster (in the present case, the cluster 12) of the file.

FIG. 13 shows an example of a configuration of the size recording area151. The size recording area 151 includes an effective size recordingarea 152, a last cluster number recording area 153 and an occupiedcluster number recording area 154. In the effective size recording area152, the effective byte number of the last cluster (in the present case,the cluster 12) is recorded. Usually, the value of the effective bytenumber is greater than 1, and a value smaller than the cluster size isrecorded. In the last cluster number recording area 153, the clusternumber (in the present case, 0x0000000C) of the last cluster (in thepresent case, the cluster 12) is recorded. In the occupied clusternumber recording area 154, the number (in the present case, 4) ofclusters which form the data recording portion of the file is recorded.

Subsequently, a file preparation process (that is, contents datarecording process) in which an FAT is utilized, a file reading outprocess and a file reverse reading out process (a reading out process ofcontents in the reverse direction) are described with reference to flowcharts of FIGS. 14 to 20. It is to be noted that those processes arecontrolled by the file management section 123, that is, the HD FS 92which belongs to the lower middleware layer 74 of the firmware.

First, the file preparation process is described with reference to aflow chart of FIG. 14. At step S1, the HD FS 92 causes contents data,which are to be recorded into the HDD 58, to be transferred from theCD-ROM drive 57 or the like to the buffer 56 for each cluster size (itis assumed that the amount of data thus transferred is S bytes). At stepS2, the HD FS 92 searches for and acquires (secures) free clusters ofthe file recording area 121.

The free cluster acquisition process is described with reference to aflow chart of FIG. 15. At step S21, the HD FS 92 reads a value Qrecorded in the free cluster list starting number recording area 143recorded in the FAT header 141. At step S22, the HD FS 92 discriminateswhether or not the value Q is −1, that is, whether or not there exists afree cluster. If it is discriminated that the value Q is not −1, thatis, there exists a free cluster, then the processing advances to stepS23. At step S23, the HD FS 92 reads the FAT entry E(Q) corresponding tothe value Q (cluster number of the free cluster).

A process of reading an FAT entry E(X) corresponding to an arbitrarycluster number X in the process of reading out the FAT entry E(Q) isdescribed with reference to a flow chart of FIG. 16. At step S41, the HDFS 92 adds a known FAT header size to a known FAT entry start addressand adds, to the sum, the product obtained by multiplication of a value(X−1) obtained by subtracting 1 from the value X by a known entry sizeto calculate an address A. At step S42, the HD FS 92 reads out an amountof data equal to the size of one entry beginning with the address A. Thedescription of the process of reading out an FAT entry E(X)corresponding to an arbitrary cluster number X is ended therewith.

Referring back to FIG. 15, at step S24, the HD FS 92 discriminateswhether or not the value of the N column of the FAT entry E(Q) is −1(0xFFFFFFFF). If it is discriminated that the value of the N column ofthe FAT entry E(Q) is not −1, then the processing advances to step S25.

At step S25, the HD FS 92 substitutes the value of the N column of theFAT entry E(Q) into a variable M. At step S26, the HD FS 92 reads theFAT entry E(M) corresponding to the cluster number M. At step S27, theHD FS 92 records −1 (0xFFFFFFFF) into the P column of the FAT entryE(M).

At step S28, the HD FS 92 records −1 (0xFFFFFFFF) into the N column ofthe FAT entry E(Q) and records −1 (0xFFFFFFFF) into the P column of theFAT entry E(Q). At step S29, the HD FS 92 determines that a free clusterof the cluster number Q is present, and returns the processing to FIG.14. The description of the free cluster acquisition process is endedtherewith.

It is to be noted that, when it is discriminated at step S24 that thevalue of the N column of the FAT entry E(Q) is −1, the processes atsteps S25 to S27 are skipped.

Further, if it is discriminated at step S22 that the value Q recorded inthe free cluster list starting number recording area 143 is −1, then theprocessing advances to step S30. At step S30, the HD FS 92 determinesthat there exists no free cluster, and returns the processing to FIG.14. However, when there exists no free cluster, it is determined thatthe HDD 58 is recorded fully, and the file preparation process of FIG.14 is ended.

In the following, the description is continued but reading the freecluster of the acquired cluster number Q as a free cluster of thecluster number V. At step S3, the HD FS 92 substitutes the clusternumber V of the free cluster into the variable X and another variable A.At step S4, the HD FS 92 substitutes 0 into an occupied cluster numberT. At step S5, the HD FS 92 newly acquires a free cluster similarly asin the process at step S2 described hereinabove. The cluster number ofthe acquired free cluster is represented by V. Here, if a free clustercannot be acquired newly, then the file preparation process is ended.

At step S6, the HD FS 92 substitutes the value V into a variable B. Atstep S7, the HD FS 92 increments the occupied cluster number T by 1. Atstep S8, the HD FS 92 converts the cluster number B into sector numbers(for example, where the sectors and the clusters are matched in such amanner as illustrated in FIG. 9, the cluster number 2 is converted intosector numbers 28 to 35). The sector numbers corresponding to thecluster number B are discriminated.) At step S9, the HD FS 92 recordsthe contents data buffered at step S1 into the sector numbers of thefile recording area 121 obtained by the conversion.

After the recording of the buffered contents data is ended, the HD FS 92connects, at step S10, the cluster of the cluster number B to thecluster of the cluster number A (at this point of time, this cluster isa free cluster). The connection process is described with reference to aflow chart of FIG. 17.

Similarly as in the process described hereinabove with reference to FIG.16, the HD FS 92 reads, at step S51, the FAT entry E(A) corresponding tothe cluster number A, and reads, at step S52, the FAT entry E(B)corresponding to the cluster number B. At step S53, the HD FS 92 recordsthe cluster number B into the N column of the FAT entry E(A) and recordsthe cluster number A into the P column of the FAT entry E(B). It is tobe noted that the process at step S53 is executed for the FAT 141expanded in the SDRAM 53. The connection process between the cluster ofthe cluster number A and the cluster of the cluster number B is endedtherewith.

Referring back to FIG. 14, at step S11, the HD FS 92 discriminateswhether or not the data amount S of the contents recorded at step S9 isequal to the cluster size. If it is discriminated that the data amount Sof the contents recorded at step S9 is equal to the cluster size, thensince the recording of the contents data to be recorded is not completedas yet, the processing advances to step S12.

At step S12, continuing part of the contents data recorded formerly istransferred by an amount equal to the cluster size to the buffer 56. Atstep S13, the cluster number B is substituted into the variable A. Atstep S14, the HF FS 92 acquires a free cluster newly similarly as in theprocess at step S2 described hereinabove. The cluster number of theacquired free cluster is represented by V. It is to be noted that, if afree cluster cannot be acquired newly at step S14, then the processingadvances to step S17. At step S15, the HD FS 92 substitutes the value Vinto the variable B. At step S16, the HD FS 92 increments the occupiedcluster number T by 1.

Thereafter, the processing returns to step S8 so that the processing atthe steps beginning with step S8 is repeated. Then, if it isdiscriminated at step S11 that the data amount S of the contentsrecorded at step S9 is not equal to the cluster size, then since therecording of the contents data to be recorded is completed, theprocessing advances to step S17.

At step S17, the HD FS 92 forms a size recording area 151 in the freecluster of the cluster number X acquired at step S2, records the dataamount S recorded in the last cluster into the effective size recordingarea 152 of the size recording area 151, records the value of thevariable B into the last cluster number recording area 153, and recordsthe value of the variable T into the occupied cluster number recordingarea 154.

At step S18, the HD FS 92 updates the FAT 141 recorded in the FAT areaof the file recording area 121 with the FAT 141 rewritten by the processat step S10. A file is prepared newly in such a manner as describedabove. It is to be noted that a file identifier having a value equal tothe cluster number of the top one of the series of clusters into whichthe contents data have been recorded is issued to the prepared file.

Subsequently, the reading out process for a file (hereinafter referredto as file X) whose file identifier is X is described with reference toa flow chart of FIG. 18. At step S61, the HD FS 92 executes a searchprocess for discriminating whether or not the file X is present.

The search process for the file X is described with reference to a flowchart of FIG. 19. At step S81, the HD FS 92 acquires the FAT entry E(x)corresponding to the entry number X. At step S82, the HD FS 92discriminates whether or not the value of the P column of the FAT entryE(X) is −1 (0xFFFFFFFF). If it is discriminated that the value of the Pcolumn of the FAT entry E(X) is −1, then the processing advances to stepS83. At step S83, the HD FS 92 discriminates that the file X is presentbecause the cluster of the entry number X (=cluster number X) is the topcluster of the series of clusters in which the file is recorded, andreturns the processing to the file reading out process of FIG. 18.

On the contrary, if it is discriminated at step S82 that the value ofthe P column of the FAT entry E(X) is not −1, then the processingadvances to step S84. At step S84, the HD FS 92 discriminates that thefile X is not present because the cluster of the entry number X(=cluster number X) is not the top cluster of the series of clusters inwhich the file is recorded, and returns the processing to the filereading out process of FIG. 18. The description of the search processfor the file X is ended therewith.

In the following, the description is continued assuming that it isdiscriminated in the file search process that the file X is present. Atstep S62, the HD FS 92 discriminates whether or not the value of the Ncolumn of the FAT entry E(X) is −1 (0xFFFFFFFF). If it is discriminatedthat the value of the N column of the FAT entry E(X) is −1, then sincethe file X does not include data, the reading out process is ended.

If the value of the N column of the FAT entry E(X) is not −1 at stepS62, then the processing advances to step S63. At step S63, the HD FS 92converts the cluster number X (top cluster) into sector numbers. At stepS64, the HD FS 92 controls the DMA controller 55 to read out the sizerecording area 151 recorded in the sectors of the sector numbersobtained by the conversion so that the size recording area 151 isbuffered by the buffer 56. At step S64, the HD FS 92 reads the effectivesize S recorded in the effective size recording area 152 of the sizerecording area 151 buffered at step S63 (the amount of data recorded inthe last cluster in the series of clusters in which the file X isrecorded).

At step S66, the HD FS 92 substitutes the value of the N column of theFAT entry E(X) into a variable C. At step S67, the HD FS 92 reads theFAT entry E(C) corresponding to the cluster number C, that is, thesecond cluster, similarly as in the process described hereinabove withreference to FIG. 16. At step S68, the HD FS 92 converts the clusternumber into sector numbers. At step S69, the HD FS 92 controls the DMAcontroller 55 to read out contents data for one cluster recorded in thesectors of the sector numbers obtained by the conversion so that thecontents data are buffered by the buffer 56.

At step S70, the HD FS 92 discriminates whether or not the value of theN column of the FAT entry E(C) is −1 (0xFFFFFFFF). If it isdiscriminated that the value of the N column of the FAT entry E(C) isnot −1, then the processing advances to step S71. At step S71, the HD FS92 controls the DMA controller 55 to output all of the data buffered inthe buffer 56 to the encoder/decoder 59 and so forth. Since all of thecontents data of the file X have not been read out as yet, theprocessing advances to step S72. At step S72, the HD FS 92 substitutesthe value of the N column of the FAT entry E(C) into the variable C. Theprocessing returns to step S67 so that the processing at the stepsbeginning with step S67 is repeated.

Thereafter, if it is discriminated at step S70 that the value of the Ncolumn of the FAT entry E(C) is −1, then since reading out from the lastcluster in which the contents data of the file X are recorded iscompleted, the processing advances to step S73. At step S73, the HD FS92 controls the DMA controller 55 to output the data for the effectivedata size S at the last end of the contents data buffered by the buffer56 to be outputted to the encoder/decoder 59 and so forth.

It is to be noted that, if it is discriminated in the file searchprocess at step S61 that the file X is not present, then the processingadvances to step S74, at which an error determination is performed andthe file reading out process for the file X is ended. The description ofthe reading out process for the file X is ended therewith.

Now, a reverse reading out process of the file X is described withreference to a flow chart of FIG. 20. Here, the reverse reading outprocess is a process which can be used in order to reproduce contentsdata retroactively for each several seconds such that contents datawhose reproduction time is 100 seconds are first reproduced for a periodof time of approximately 100 milliseconds from the data at the 90thsecond and then produced for approximately 100 milliseconds from thedata at the 80th second, and then produced for approximately 100milliseconds from the data at the 70th second.

At step S91, the HD FS 92 converts the file identifier (=X, hereinafterreferred to as ID(X)) of the file X into a sector number. It is to benoted, however, that the ID(X) is same as the cluster number of the topcluster from within the series of clusters in which the file X isrecorded.

At step S92, the HD FS 92 reads the FAT entry E(X) corresponding to thecluster X. At step S93, the HD FS 92 controls the DMA controller 55 toread out the size recording area 151 recorded in the sectors of thesector numbers obtained by the conversion at step S91 so that the sizerecording area 151 is buffered by the buffer 56. At step S94, the HD FS92 reads the effective size S from the effective size recording area 152of the size recording area 151 buffered at step S93 and reads the lastcluster number Z from the last cluster number recording area 153.

At step S95, the HD FS 92 discriminates whether or not the last clusternumber Z and the ID(X) are same as each other. If the last clusternumber Z and the ID(X) are same as each other, then since the file Xdoes not include contents data, the reverse reading out process isended.

If it is discriminated that the last cluster number Z and the ID(X) arenot same as each other, then the processing advances to step S96. Atstep S96, the HD FS 92 converts the last cluster number Z into sectornumbers. At step S97, the HD FS 92 controls the DMA controller 55 toread out the data including the last portion of the contents datarecorded in the sectors of the sector numbers obtained by the conversionat step S96 so that the data are buffered by the buffer 56. At step S98,the HD FS 92 controls the DMA controller 55 to output S bytes fromwithin the data buffered in the buffer 56, that is, the last portion ofthe contents data, to the encoder/decoder 59 and so forth.

At step S99, the HD FS 92 reads the FAT entry E(Z) corresponding to thelast cluster number Z. At step S100, the HD FS 92 discriminates whetheror not the value of the P column of the FAT entry E(Z) is equal to theID(X). If it is discriminated that the value of the P column of the FATentry E(Z) is equal to the ID(X), then since this signifies that onlythe last one cluster of the contents data of the file X has beenrecorded, the reverse reading out process is ended.

If it is discriminated that the value of the P column of the FAT entryE(Z) is not equal to the ID(X), then the processing advances to stepS101 in order to read out the contents data retroactively only by onecluster from the last side. At step S101, the HD FS 92 substitutes thevalue of the P column of the FAT entry E(Z) into the variable C.

At step S102, the HD FS 92 reads the FAT entry E(C) corresponding to thecluster number C. At step S103, the HD FS 92 converts the cluster numberC into sector numbers. At step S104, the HD FS 92 controls the DMAcontroller 55 to read out the contents data recorded in the sectornumbers obtained by the conversion at step S103 so that the contentsdata are buffered by the buffer 56. At step S105, the HD FS 92 controlsthe DMA controller 55 to output the contents data for one clusterbuffered in the buffer 56 to the encoder/decoder 59 and so forth.

At step S106, the HD FS 92 discriminates whether or not the value of theP column of the FAT entry E(C) corresponding to the cluster number C isequal to the ID(X). If it is discriminated that the value of the Pcolumn of the FAT entry E(C) is not equal to the ID(X), since thissignifies that all of the file X have not been read out as yet, theprocessing advances to step S107 in order to read out the file Xretroactively by one cluster. At step S107, the HD FS 92 substitutes thevalue of the P column of the FAT entry E(C) into the variable C. Theprocessing returns to step S102 so that the processing at the stepsbeginning with step S102 forth is repeated.

Thereafter, if it is discriminated at step S106 that the value of the Pcolumn of the FAT entry E(C) is equal to the ID(X), since this signifiesthat all of the file X are read out up to the top thereof, the reversereading out process is ended. The description of the reverse reading outprocess of the file X is ended.

As described above, with the HD FS 92 of the audio server 1, since thecluster number of the top cluster of an area in which a file is recordedand which has a value of a fixed length is applied as a filteridentifier for specifying the file, the recorded position of the filecan be specified readily. Consequently, when compared with analternative case wherein the file name does not have a fixed length, thesearch time for a file can be reduced significantly.

Further, since the file identifier has a fixed length, the time requiredfor search of a file can be uniformed.

Further, with the HD FS 92 of the audio server 1, since there is nolimitation to the size of a file to be recorded, not only audio data butalso data of a greater size such as video data can be recorded as afile.

Furthermore, with the HD FS 92 of the audio server 1, where one file isrecorded over a plurality of clusters, since clusters are utilized in aforward direction, seeking upon recording or reproduction is performedin a fixed direction. Consequently, occurrence of a miss of recordingupon recording or a miss of sound upon reproduction is prevented.

Now, an object corresponding to a folder, an album or a track isdescribed with reference to FIGS. 21 to 27. FIG. 21 shows a logicalstructure of the object recording area 122 into which an object is to berecorded. The object recording area 122 includes a system area 161, anda plurality of chunks partitioned so as to have a predeterminedcapacity. An object is recorded into such chunks.

The system area 161 includes a header 162, an object type recording area163 and an area information recording area 164. To the plurality ofchunks, serial numbers beginning with 1 are applied in order from thetop one of them. In the following description, for example, the chunk towhich the number 1 is applied is referred to as chunk 1, the chunk towhich the number 2 is applied is referred to as chunk 2, and so forth.

Each of the chunks is further partitioned into pages of a predeterminedcapacity. To the pages which form each chunk, serial numbers beginningwith 0 are applied in order from the top one of them. In the followingdescription, for example, the page to which the number 0 is applied isreferred to as page 0, the page to which the number 1 is applied isreferred to as page 0, and so forth.

FIG. 22 shows a structure of the object type recording area 163 of thesystem area 161. The object type recording area 163 is formed from aheader 165 and T entries. T is a constant set in advance. The header 165includes an entry number recording area 166. The number of entriesregistered at present (the maximum number of the entry number is T) isrecorded in the entry number recording area 166.

Each of the entries of the object type recording area 163 includes asize recording area 167, a basic object type number recording area 168,and a parameter recording area 169. For example, in the entry t,information regarding the object type number t is recorded. Inparticular, the size of the object of the object type number t isrecorded in the size recording area 167 of the entry t. The basic objecttype number representative of the basic object type to which the objectof the object type number t belongs is recorded in the basic object typenumber recording area 168 of the entry t. Information regarding the sizewhere the size of the object of the object type number t is a variablelength is recorded in the parameter recording area 169 of the entry t.

FIG. 23 shows the area information recording area 164 of the system area161. The area information recording area 164 is formed from a bit trainof the total page number of the object recording area 122 (a valueobtained by multiplying the total number of chunks by the number ofpages which form one chunk). It is to be noted that FIG. 23 shows thearea information recording area 164 using a matrix of (total number ofchunks) columns×(number of pages which form one chunk) rows for theconvenience of description. For example, in FIG. 23, the bit indicatedby “o” in the qth column of the pth row corresponds to the page p of thechunk q, and where the page p of the chunk q is in use, 1 is recorded inthe bit indicated by “o”. On the contrary, where the page p of the chunkq is not in use, 0 is recorded in the bit indicated by “o”.

FIG. 24 shows an example of a configuration of the object managementsection 124 which corresponds to the HD DB 91 included in the lowermiddleware layer 74. The object management section 124 includes anobject type registration section 171, a storage area management section172, a session management section 173 and a cache management section174.

The object type registration section 171 performs registration of anobject type (writing into the object type recording area 163). Further,the object type registration section 171 performs response to an inquiryfor an object type (reading out from the object type recording area163).

The storage area management section 172 inverts a predetermined bit inthe area information recording area 164. The storage area managementsection 172 reads out a bit of the area information recording area 164to search for a non-used area of a predetermined number of successivepages. Further, the storage area management section 172 issues anidentifier to each object.

The session management section 173 issues a session number to a sessionbeing currently executed and manages session management information 181(FIG. 25). Here, the session is a term representative of a process forcontrolling writing or reading out of data or the like.

FIG. 25 shows an example of a configuration of the session managementinformation 181. The session management information 181 includes acurrent session number storage area 182 in which the number of sessionswhich are currently open (the number is hereinafter referred to ascurrent session number) is stored, and S entries which individuallycorrespond to objects and in each of which information of a sessionhaving the access right to the object is recorded. The maximum value ofthe current session number and the value S are set in advance.

Each of the entries of the session management information 181 includesan object identifier storage area 183, a read/write session numberstorage area 184, read only session number storage areas 185 to 188, anobject state storage area 189, a read cache address storage area 190, awrite cache address storage area 191, and an access time storage area192.

The object identifier storage area 183 has an object identifier (FIG.27) of a corresponding object stored therein. In the read/write sessionnumber storage area 184, the session number of a session which has thewriting right for a corresponding object is stored. In the read onlysession number storage areas 185 to 188, the session numbers of sessionswhich have the reading right for a corresponding object are stored. Itis to be noted that a plurality of sessions which have the reading rightfor an object may be present simultaneously, and FIG. 25 shows a casewherein up to four sessions have the reading right and only one sessionhas the writing right and the reading right.

In the object state storage area 189, information representative of astate of a corresponding object (“CREATE” representative of preparation,“UPDATE” representative of updating or “REMOVE” representative ofdeletion”) is stored. In the read cache address storage area 190, theaddress of the read cache into which an object read out is temporarilystored is stored. In the write cache address storage area 191, theaddress of the write cache into which an object to be written istemporarily stored is stored. In the access time storage area 192, thelast access time to a corresponding object is stored.

It is to be noted that, where there exists no information to be storedinto the areas from the object identifier storage area 183 to the accesstime storage area 192, 0 is stored.

FIGS. 26A and 26B show an example of a configuration of a basic objectfirst type and a basic object second type which are two different basicobject types of objects to be recorded into chunks, respectively.

As shown in FIG. 26A, the basic object first type includes an objectidentifier recording area 201 in which the object identifier of theobject itself is stored and an arbitrary data recording area 202 inwhich arbitrary data (for example, data of the name of the object set bythe user) is recorded. The basic object first type includes objects of afolder list, a folder and an album.

The basic object second type includes, as shown in FIG. 26B, the objectidentifier recording area 201 in which the object identifier of theobject itself is recorded, the arbitrary data recording area 202 inwhich arbitrary data are recorded, and a file identifier recording area203 in which the file identifier of a file corresponding to the objectitself (object) is recorded. The basic object second type includes anobject of a track.

The object identifier recorded in the object identifier recording area201 includes, as shown in FIG. 27, a chunk number and a page numberrepresentative of the top of the series of pages in which thecorresponding object is stored, and a type number. The type numberincludes the basic object type number (one of the basic object firsttype and the basic object second type) to which the corresponding objectbelongs, and the entry number of the object type recording area 163 inwhich the type of the corresponding object is registered.

Now, an object preparation process, an object search process, an objectupdating process, a stream object preparation process and a streamobject search process are described with reference to flow charts ofFIGS. 28 to 37. Here, the stream object is a term which particularlysignifies an object corresponding in a one-by-one correspondingrelationship to contents data recorded in the file recording area 121,that is, a track. The stream object belongs to the basic object secondtype (FIG. 26B). Accordingly, an object which is not a stream object isan object of a folder or an album and belongs to the basic object firsttype.

It is to be noted that the processes mentioned are controlled by theobject management section 124, that is, by the HD DB 91 which belongs tothe lower middleware layer 74 of the firmware.

First, a preparation process of an object which is not a stream objectis described with reference to a flow chart of FIG. 28 taking a casewherein an object of the object type number t is to be prepared as anexample. It is to be noted that the object type number t includes abasic type number (in the present case, the basic object first type) andan entry number as shown in FIG. 27.

At step S121, the HD DB 91 opens a write session. The process of openinga write session is described with reference to a flow chart of FIG. 29.At step S141, the HD DB 91 reads out the current session number storedin the current session number storage area 182 of the session managementinformation 181 and discriminates whether or not the current sessionnumber read out is smaller than a maximum value set in advance. If it isdiscriminated that the current session number is smaller than themaximum value set in advance, then the processing advances to step S142.

At step S142, the HD DB 91 increments the current session number storedin the current session number storage area 182 of the session managementinformation 181 by 1. At step S143, the HD DB 91 opens a write sessionand issues a session number Z using, for example, a random number. Theprocessing returns to FIG. 28.

It is to be noted that, if it is discriminated at step S141 that thecurrent session number is not smaller than the maximum value set inadvance, since it is impossible to open another session, the processingadvances to step S144, at which the HD DB 91 makes a determination of anerror. The session opening process is ended, and the object preparationprocess of FIG. 28 is interrupted.

At step S122 of FIG. 28, the HD DB 91 reads out, in order to secure apage of a chunk into which the object of the object type number t is tobe recorded, the size of the object of the object type number t from thesize recording area 167 of the entry t of the object type recording area163 and calculates the number of pages of the chunk which corresponds tothe size. The page number calculated is represented by g.

At step S123, the HD DB 91 secures a free entry from among a pluralityof entries which form the session management information 181. Theprocess of securing a free entry is described with reference to a flowchart of FIG. 30.

At step S151, the HD DB 91 initializes a variable M to 1. At step S152,the HD DB 91 discriminates whether or not the variable M is equal to orsmaller than the number S of entries which form the session managementinformation 181. If it is discriminated that the variable M is equal toor smaller than the number S of entries, then the processing advances tostep S153. At step S153, the HD DB 91 reads out the value of the objectidentifier storage area 183 of the entry M which form the sessionmanagement information 181. At step S154, the HD DB 91 discriminateswhether or not the value of the object identifier storage area 183 ofthe entry M read out is 0. If it is discriminated that the value of theobject identifier storage area 183 of the entry M is 0, then since itcan be determined that the entry M is a free entry, the entry M issecured, and the processing returns to FIG. 28.

If it is discriminated at step S154 that the value of the objectidentifier storage area 183 of the entry M is not 0, then the processingadvances to step S155. At step S155, the HD DB 91 increments thevariable M by 1. The processing returns to step S152 so that theprocesses at the steps beginning with step S152 forth are repeated.Thereafter, if it is discriminated at step S152 that the variable M isnot equal to or smaller than the number S of entries while it is notdiscriminated at step S154 that the value of the object identifierstorage area 183 of the entry M is 0, then since there currently existsno free entry, the processing advances to step S156 in order to create afree entry.

At step S156, the HD DB 91 discriminates whether or not the entrieswhich form the session management information 181 include an entrywherein the values of the read/write session number storage area 184 andthe read only session number storage areas 185 to 188 are all equal to0. If it is discriminated that there exists such an entry, then theprocessing advances to step S157. At step S157, the HD DB 91 extracts,from among those entries wherein the values of the read/write sessionnumber storage area 184 and the read only session number storage areas185 to 188 are all equal to 0, that entry whose access time storage area192 exhibits the lowest value (that is, that entry which has the oldestaccess time).

At step S158, the HD DB 91 clears the values of the areas from theobject identifier storage area 182 to the access time storage area 192of the extracted entry to 0 and secures the entry as a free entry M. Theprocessing returns to FIG. 28.

It is to be noted that, if it is discriminated at step S156 that theentries which form the session management information 181 do not includean entry wherein the values of the read/write session number storagearea 184 and the read only session number storage areas 185 to 188 areall equal to 0, since a free entry cannot be secured, the processingadvances to step S159. At step S159, the HD DB 91 makes a determinationof an error. The free entry securing process is ended, and the objectpreparation process of FIG. 28 is interrupted.

Referring back to FIG. 28, at step S124, the HD DB 91 searches the bittrain of the area information recording area 164 for a bit train wherein0 is recorded successively for g bits. The top position of the searchedout bit train wherein 0 is recorded successively for g bits is the pthrow of the qth column. At step S125, the HD DB 91 stores an objectidentifier OID(q, p, t) which includes the chunk number q, page number pand object type number t as shown in FIG. 27 into the secured objectidentifier storage area 183 of the entry M. Further, the HD DB 91 storesthe session number Z into the read/write session number storage area 184of the entry M of the session management information 181 and furtherrecords “CREATE” representative of preparation into the object statestorage area 189.

At step S126, the HD DB 91 secures a write cache area d equal to thepage number g which is the size of the object in the buffer 56. At stepS127, the HD DB 91 stores the address of the secured write cache area dof the buffer 56 into the write cache address storage area 191 of theentry M of the session management information 181.

At step S128, the HD DB 91 starts recording of the object X of theobject basic first type shown in FIG. 26A into the write cache area dsecured in the buffer 56. In this instance, the HD DB 91 first recordsthe object identifier OID(q, p, t) into the object identifier recordingarea 201 of the write cache area d. At step S129, the HD DB 91 recordsarbitrary data (for example, the name of the object to be prepared orthe like) of the object to be prepared into the arbitrary data recordingarea 202 of the write cache area d.

At step S130, the HD DB 91 waits for inputting of a signal Icorresponding to an operation of a user. At step S131, the HD DB 91discriminates whether or not the signal I represents “commit”, that is,final determination of preparation of a session. If it is discriminatedthat the signal I represents “commit”, the processing advances to stepS132, at which the write session Z is finally determined. On thecontrary, if it is discriminated that the signal I does not represent“commit”, then the processing advances to step S133, at which the writesession Z is abandoned.

The process of finally determining a write session at step S132 isdescribed with reference to a flow chart of FIG. 31. It is to be notedthat to finally determine a session signifies to reflect recording ofthe object recording area 122 upon preparation, updating, movement orthe like of the object performed after the session is opened to finallydetermine the same.

At step S171, the HD DB 91 initializes the variable M to 1. At stepS172, the HD DB 91 discriminates whether or not the variable M is equalto or smaller than the number S of entries which form the sessionmanagement information 181. If it is discriminated that the variable Mis equal to or smaller than the number S of entries, then the processingadvances to step S173. At step S173, the HD DB 91 reads out the value ofthe read/write session number storage area 184 of the entry M whichforms the session management information 181, and discriminates whetheror not the value read out is equal to the session number Z. If it isdiscriminated that the value of the read/write session number storagearea 184 of the entry M and the session number Z are not equal to eachother, then the processing advances to step S174 in order to search foran entry whose session number Z is equal to the value of the read/writesession number storage area 184 of the entry M.

At step S174, the HD DB 91 increments the variable M by 1. Theprocessing returns to step S172 so that the processes at the stepsbeginning with step S172 are repeated. If it is discriminated at stepS173 that the value of the read/write session number storage area 184 ofthe variable M and the session number Z are equal to each other, thenthe processing advances to step S175. In particular, only an entry whosesession number Z is stored in the read/write session number storage area184 is extracted, and the processing at the steps beginning with stepS175 is performed for the extracted entry.

At step S175, the HD DB 91 reads out the object identifier from theobject identifier storage area 183 of the entry M whose session number Zis stored in the read/write session number storage area 184. At stepS176, the HD DB 91 reads out information J representative of an objectstate from the object state storage area 189 of the entry M whosesession number Z is stored in the read/write session number storage area184. At step S176, the HD DB 91 discriminates which one of “CREATE”,“UPDATE” and “REMOVE” the information J representative of an objectstate is.

If it is discriminated at step S177 that the information Jrepresentative of an object state is “CREATE”, then the processingadvances to step S178. At step S178, the HD DB 91 records the objectrecorded in the write cache area d secured in the buffer 56 into pagesbeginning with the page q of the chunk p of the object recording area122. At step S179, the HD DB 91 records 1 into g bits beginning with thepth row of the qth column of the area information recording area 164.

At step S180, the HD DB 91 copies the values of the write cache addressstorage area 191 of the entry M into the read cache address storage area190. At this time, if any other value than 0 is stored in the read cacheaddress storage area 190, then the read cache area in which the buffer56 indicated by the value is released.

At step S181, the HD DB 91 stores 0 into the read/write session numberstorage area 184 of the entry M and the write cache address storage area191. At step S182, the HD DB 91 updates the value of the access timestorage area 192 of the entry M with the time at present.

If it is discriminated at step S177 that the information Jrepresentative of an object state is “UPDATE”, then the processingadvances to step S183. At step S183, the HD DB 91 records the objectrecorded in the write cache area d secured in the buffer 56 into pagesbeginning with the page q of the chunk p of the object recording area122. The processing advances to step S180.

If it is discriminated at step S177 that the information Jrepresentative of an object state is “REMOVE”, then the processingadvances to step S184. At step S184, the HD DB 91 records 0 into g bitsbeginning with the pth row of the qth column of the area informationrecording area 164. At step S185, the HD DB 91 releases the write cacheand the read cache secured in the buffer 56 by the entry M. At stepS186, the HD DB 91 stores 0 into the areas from the object identifierstorage area 183 to the access time storage area 192 of the entry M. Theprocessing advances to step S174.

Thereafter, the processes described above are repeated until after it isdiscriminated at step S172 that the variable M is not equal to or lowerthan the number S of entries. If it is discriminated that the variable Mis not equal to or lower than the number S of entries, then theprocessing of finally determining the write session is completed.

The process at step S133 of FIG. 28, that is, the process of abandoninga write session, is described with reference to a flow chart of FIG. 32.At step S191, the HD DB 91 initializes the variable M to 1. At stepS192, the HD DB 91 discriminates whether or not the variable M is equalto or lower than the number S of entries which form the sessionmanagement information 181. If it is discriminated that the variable Mis equal to or lower than the number S of entries, then the processingadvances to step S193.

At step S193, the HD DB 91 reads out the value of the read/write sessionnumber storage area 184 of the entry M which forms the sessionmanagement information 181, and discriminates whether or not the valueis equal to the session number Z. If it is discriminated that the valueof the read/write session number storage area 184 of the entry M and thesession number Z are not equal to each other, then the processingadvances to step S194 in order to search for an entry whose sessionnumber Z is equal to the value of the read/write session number storagearea 184 of the entry M. At step S194, the HD DB 91 increments thevariable M by 1. The processing returns to step S192 so that theprocesses at the steps beginning with step S192 are repeated.

If it is discriminated at step S193 that the value of the read/writesession number storage area 184 of the entry M and the session number Zare equal to each other, then the processing advances to step S195. Inother words, only an entry whose session number Z is stored in theread/write session number storage area 184 is extracted, and theprocesses at the steps beginning with step S195 are performed for theentry.

At step S195, the HD DB 91 releases the write cache area secured in thebuffer 56 by the entry M. At step S196, the HD DB 91 discriminateswhether or not the object state stored in the object state storage area189 of the entry M is “CREATE”. If it is discriminated that the objectstate is not “CREATE”, then the processing advances to step S197.

At step S197, the HD DB 91 stores 0 into the read/write session numberstorage area 184 of the entry M and the write cache address storage area191. At step S198, the HD DB 91 updates the value of the access timestorage area 192 of the entry M with the time at present. The processingadvances to step S194.

It is to be noted that, if it is discriminated at step S196 that theobject state stored in the object state storage area 189 of the entry Mis “CREATE”, then the processing advances to step S199. At step S199,the HD DB 91 stores 0 into the areas of the entry M other than theread/write session number storage area 184 and the write cache addressstorage area 191, that is, into the object identifier storage area 183,read only session number storage areas 185 to 188, object state storagearea 189, read cache address storage area 190 and access time storagearea 192. The processing advances to step S194.

Thereafter, the processes at the steps described above following thestep S192 are repeated until after it is discriminated at step S192 thatthe variable M is not equal to or lower than the number S of entries. Ifit is discriminated that the variable M is not equal to or lower thanthe number S of entries, then the processing of abandoning the writesession is completed.

Now, the object search process is described with reference to a flowchart of FIG. 33 taking a case wherein an object whose object identifierOID is X (the object is hereinafter referred to as object X) is searchedfor as an example. It is assumed that a session has already been opened.

At step S201, the HD DB 91 acquires an entry M corresponding to theobject X. A process of acquiring an entry corresponding to the object Xis described with reference to a flow chart of FIG. 34.

At step S211, the HD DB 91 initializes the variable M to 1. At stepS212, the HD DB 91 discriminates whether or not the variable M is equalto or smaller than the number S of entries which form the sessionmanagement information 181. If it is discriminated that the variable Mis equal to or lower than the number S of entries, then the processingadvances to step S213.

At step S213, the HD DB 91 reads out the value of the object identifierstorage area 183 of the entry M which forms the session managementinformation 181, and discriminates whether or not the value is equal tothe object identifier OID=X of the object X. If the value of the objectidentifier storage area 183 of the entry M and the object identifierOID=X of the object X are not equal to each other, then the processingadvances to step S214 in order to search for an entry wherein the valueof the object identifier storage area 183 and the object identifierOID=X of the object X are equal to each other.

At step S214, the HD DB 91 increments the variable M by 1. Theprocessing returns to step S212 so that the processes at the stepsbeginning with step S212 are repeated. If it is discriminated at stepS213 that the value of the object identifier storage area 183 of theentry M and the object identifier OID=X of the object X are equal toeach other, then since an entry M which corresponds to the object X hasbeen acquired successfully, the present process is ended, and theprocessing is returns to FIG. 33.

It is to be noted that, if the case wherein it is discriminated at stepS213 that the value of the object identifier storage area 183 of theentry M and the object identifier OID=X of the object X are not equal toeach other continues and then it is discriminated at step S212 that thevariable M is not equal to or smaller than the number S of entries, theprocessing advances to step S215. At step S215, the HD DB 91discriminates that an error has occurred, that is, an entry M whichcorresponds to the object X has not been acquired successfully, and endsthe present process. The processing returns to FIG. 33.

Referring back to FIG. 33, when an entry M corresponding to the object Xhas been acquired successfully through the process at step S201, theprocessing advances to step S202. At step S202, the HD DB 91discriminates that the object X is present in the buffer 56 because anentry M corresponding to the object X has been acquired successfully,and ends the process.

On the contrary, if an entry M which corresponds to the object X has notbeen acquired successfully through the process at step S201, theprocessing advances to step S203. At step S203, the HD DB 91 decomposesthe object identifier OID=X of the object X to acquire a chunk numberand a page number of the object recording area 122 in which the objectis recorded and the object type number t of the object X.

At step S204, the HD DB 91 reads out the value of the size recordingarea 167 of an entry which corresponds to the object type number t fromthe object type recording area 163, and calculates a page number gnecessary to record the object X based on the read out value.

At step S205, the HD DB 91 refers to the area information recording area164 to discriminate whether or not the g bits beginning with the pthcolumn of the qth row of the area information recording area 164 are 1.If it is discriminated that the g bits beginning with the pth column ofthe qth row of the area information recording area 164 are 1, then theprocessing advances to step S206. At step S206, the HD DB 91 sets a readcache area c corresponding to the page number g in the buffer 56. Atstep S207, the HD DB 91 copies the data recorded in the g pagesbeginning with the page p of the chunk q of the object recording area122 into the read cache area c of the buffer 56.

At step S208, the HD DB 91 discriminates whether or not the objectidentifier recorded at a portion of the data copied in the read cachearea c which corresponds to the object identifier recording area 201 andthe object identifier X coincide with each other. If it is discriminatedthat they coincide with each other, then since the data cached in theread cache area c are the object X, the processing advances to stepS202.

If it is discriminated at step S208 that the object identifier recordedat a portion of the data copied in the read cache area c whichcorresponds to the object identifier recording area 201 and the objectidentifier X do not coincide with each other, then the processingadvances to step S209. At step S209, the HD DB 91 determines that theobject X is not present in the object recording area 122 either, andends the processing.

Now, the updating process of the object X is described with reference toa flow chart of FIG. 35. Here, the updating process of the object X is aprocess of rewriting arbitrary data of the object X.

At step S221, the HD DB 91 opens a write session Z similarly as in theprocess at step S121 described hereinabove with reference to FIG. 29. Atstep S222, the HD DB 91 acquires an entry M corresponding to the objectX similarly as in the process at step S201 described hereinabove withreference to FIG. 34.

If an entry M corresponding to the object X is acquired successfullythrough the process at step S222, then the HD DB 91 determines that theobject X is cached in the read cache area c set in the buffer 56, andadvances the processing to step S223. At step S223, the HD DB 91discriminates whether or not the value of the read/write session numberstorage area 184 of the entry M is 0. If it is discriminated that thevalue of the read/write session number storage area 184 of the entry Mis 0, then the processing advances to step S224.

At step S224, the HD DB 91 stores the session number Z of the writesession opened at step S221 into the read/write session number storagearea 184 of the entry M. At step S225, the HD DB 91 decomposes theobject identifier OID=X of the object X to acquire a chunk number and apage number of the object recording area 122 in which the object isrecorded and the type number t of the object X.

At step S226, the HD DB 91 reads out the value of the size recordingarea 167 of the entry corresponding to the type number t from the objecttype recording area 163, and calculates a page number g necessary torecord the object X based on the read out value. At step S227, the HD DB91 sets a write cache area d which corresponds to the page number g inthe buffer 56. At step S228, the HD DB 91 stores the address of thewrite cache area d into the write cache address storage area 191 of theentry M.

At step S229, the HD DB 91 copies the data in the read cache area c ofthe buffer 56 into the write cache area d. At step S230, the HD DB 91records arbitrary data for updating of the object X into the arbitrarydata recording area 202 of the object X copied in the write cache aread. At step S231, the HD DB 91 stores the information “UPDATE”representative of updating into the object state storage area 189 of theentry M.

At step S232, the HD DB 91 waits for inputting of a signal Icorresponding to an operation of the user. At step S233, the HD DB 91discriminates whether or not the signal I represents “commit”, that is,final determination of updating of the session. If the signal Irepresents “commit”, then the processing advances to step S234. At stepS234, the HD DB 91 finally determines the write session Z similarly asin the process at step S132 described hereinabove with reference to FIG.31. On the contrary if it is discriminated that the signal I does notrepresent “commit”, then the processing advances to step S235. At stepS235, the HD DB 91 abandons the write session Z similarly as in theprocess at step S133 described hereinabove with reference to FIG. 32.

It is to be noted that, if it is discriminated at step S223 that thevalue of the read/write session number storage area 184 of the entry Mis not 0, then since it can be determined that the object X is beingupdated by some other session than the session Z, the processingadvances to step S235.

If an entry M corresponding to the object X is not acquired successfullythrough the process at step S222, then the processing advances to stepS236, at which the HD DB 91 secures a free entry M similarly as in theprocess at step S123 described hereinabove with reference to FIG. 30.

At step S237, the HD DB 91 decomposes the object identifier OID=X of theobject X to acquire a chunk number and a page number of the objectrecording area 122 in which the object is recorded and the type number tof the object X. At step S238, the HD DB 91 reads out the value of thesize recording area 167 of the entry corresponding to the type number tfrom the object type recording area 163 and calculates a page number gnecessary to record the object X based on the read out value. At stepS239, the HD DB 91 sets a read cache area c and a write cache area dcorresponding to the page number g in the buffer 56.

At step S240, the HD DB 91 stores the address of the read cache area cinto the read cache address storage area 190 of the entry M, stores theaddress of the write cache area d into the write cache address storagearea 191 of the entry M, and stores the object identifier OID=X of theobject X into the object identifier storage area 183 of the entry M.

At step S241, the HD DB 91 copies the data of the object X recorded inthe g pages beginning with the page p of the chunk q of the objectrecording area 122 into the read cache area c of the buffer 56. Theprocessing advances to step S229.

As described above, in the updating process of the file X, the data ofthe file X are copied from the read cache area c into the write cachearea d and the data of the file X cached in the write cache area d arerewritten, and a result of the rewriting is recorded into the objectrecording area 122 by the process of finally determining the session.

Now, a process of preparing an object of tracks which correspond in aone-by-one corresponding relationship to contents data to be recordedinto the file recording area 121, that is, a stream object of the objecttype number t′, is described with reference to a flow chart of FIG. 36.It is to be noted that the object type number t′ includes a basic typenumber (in the present case, the basic object second type) and an entrynumber as shown in FIG. 27.

At step S251, the HD DB 91 opens a write session similarly as in theprocess at step S121 described hereinabove with reference to the flowchart of FIG. 29. At step S252, the HD DB 91 reads out, in order tosecure pages of a chunk into which the stream object of the object typenumber t′ is to be recorded, the size of the object of the object typenumber t′ from the size recording area 167 of the object type number t′of the object type recording area 163 and calculates the number of pagesof a chunk corresponding to the size. The page number calculated isrepresented by g.

At step S253, the HD DB 91 secures a free entry M from among a pluralityof entries which form the session management information 181 similarlyas in the process at step S123 described hereinabove with reference tothe flow chart of FIG. 30. At step S254, the HD DB 91 searches for a bittrain wherein 0 is recorded successively for g bits from within the bittrain of the area information recording area 164. The position of thetop of the searched out bit train wherein 0 is recorded successively forg bits is represented by the p row of the q column. At step S255, the HDDB 91 stores an object identifier OID(q, p, t′) including the chunknumber q, page number p and object type number t′ as shown in FIG. 27into the object identifier storage area 183 of the secured entry M.Further, the HD DB 91 stores the session number Z into the read/writesession number storage area 184 of the entry M of the session managementinformation 181 and further records “CREATE” representative ofpreparation into the object state storage area 189.

At step S256, the HD DB 91 secures a write cache area d equal to thepage number g which is the size of the stream object in the buffer 56.At step S257, the HD DB 91 stores the address of the secured write cachearea d in the buffer 56 into the write cache address storage area 191 ofthe entry M of the session management information 181.

At step S258, the HD DB 91 starts recording of the stream object X ofthe object basic second type shown in FIG. 26B into the write cache aread secured in the buffer 56. In this instance, the HD DB 91 first recordsthe object identifier OID(q, p, t′) into the object identifier recordingarea 201 of the write cache area d. At step S259, the HD DB 91 acquiresthe file identifier F of contents data to be prepared by the HD FS 92corresponding to the stream object (the file identifier has a value sameas the cluster number of the top one of the series of clusters in whichthe contents data are recorded). At step S260, the HD DB 91 records thefile identifier F into the file identifier recording area 103 of thewrite cache area d.

At step S261, the HD DB 91 starts acquisition of arbitrary data of astream object to be prepared (for example, the name of a stream objectto be prepared). At step S262, the HD DB 91 waits until the acquisitionof arbitrary data is completed. It is to be noted that, between theprocesses at steps S261 and S262, the HD FS 92 prepares a file ofcontents data of the file identifier F corresponding to the streamobject and records the file into the file recording area 121.

At step S263, the HD DB 91 records the acquired arbitrary data into thearbitrary data recording area 202 of the write cache area d.

At step S264, the HD DB 91 waits for inputting of a signal Icorresponding to an operation of the user. At step S265, the HD DB 91discriminates whether or not the signal I represents “commit”, that is,final determination of preparation of a session. If it is discriminatedthat the signal I represents “commit”, then the processing advances tostep S266. At step S266, the HD DB 91 finally determines the writesession Z similarly as in the process at step S132 described hereinabovewith reference to FIG. 31.

On the contrary, if it is discriminated at step S265 that the signal Idoes not represent “commit”, then the processing advances to step S267.At step S267, the HD DB 91 abandons the write session Z similarly as inthe process at step S133 described hereinabove with reference to FIG.32. At step S268, the HD DB 91 issues a request for deletion of the fileF to the HD FS 92. The description of the preparation process of thestream object is ended therewith.

Subsequently, a process of searching for a stream object (hereinafterreferred to as stream object X) whose object identifier OID is X isdescribed with reference to a flow chart of FIG. 37. It is assumed thata session has been opened already.

At step S271, the HD DB 91 executes a process similar to the searchprocess for an object X described hereinabove with reference to FIG. 33.At step S272, the HD DB 91 acquires the object type number included inthe object identifier OID=X of the object X searched out through theprocess at step S271. The object type number acquired is represented byt. Further, the HD DB 91 acquires the object basic type number includedin the object type number t.

At step S273, the HD DB 91 discriminates whether or not the basic objecttype number of the object X searched out is the basic object secondtype. If it is discriminated that the basic object type number of theobject X searched out is the basic object second type, then since theobject X searched out is a stream object, the processing advances tostep S274. At step S274, the HD DB 91 reads the file identifier from thefile identifier recording area 203 of the stream object X searched outand supplies the file identifier to the HD FS 92.

It is to be noted that, if an object of the object identifier OID=X isnot searched out successfully at step S271, then the processing advancesto step S275. Also when it is discriminated at step S273 that the basicobject type number of the object X searched out is not the basic objectsecond type, the processing advances to step S275. At step S275, the HDDB 91 makes a determination of an error, that is, determines that thestream object X does not exist, and ends the stream object searchprocess.

FIG. 38 shows a directory structure of an object recorded in the objectrecording area 122. In the object recording area 122, a folder listobject 212, a folder object 213, an album object 214 and a track object215 form a hierarchical structure under a root 211.

The HD DB 91 can prepare a plurality of folder objects 213 under thefolder list object 212. A plurality of album objects 214 can be preparedunder each of the folder objects 213. A plurality of track objects 215can be prepared under each of the album object 214. Each of the trackobjects 215 corresponds to contents data for one tune.

The folder objects 213, album objects 214 and track objects 215 areobjects presented to the user when a tune to be reproduced is to beselected. The HD DB 91 can prepare an object of some other informationwhich is not an object to be presented to the user (such as a CC(Content Control) object 216) under any of the root 211, folder listobjects 212 and folder objects 213.

Further, the HD DB 91 inhibits, when it prepares a folder object 213under a folder list object 212, any other object than the folder object213 under the same folder list object 212. Furthermore, when an albumobject 214 is prepared under a folder object 213, preparation of anyother object than the album object 214 under the same folder object 213is inhibited. Still further, preparation of any other object than atrack object 215 under an album object 214 is inhibited.

Since each object is recorded in accordance with the rules describedabove, a folder group 217, an album group 218 and a track group 219 areconstructed in the object recording area 122.

Now, the data format of each object is described.

FIG. 39 shows the data format of the folder list object 212. Since thefolder list object 212 belongs to the basic object first type shown inFIG. 26A, it includes the object identifier recording area 201 and thearbitrary data recording area 202. In the object identifier recordingarea 201 of the folder list object 212, the object identifier OID of 4bytes is recorded.

In the arbitrary data recording area 202 of the folder list object 212,a maximum value MAX (4 bytes) of the number of folder objects 213 whichcan be prepared under the folder list object 212, the number N (4 bytes)of folder objects 213 prepared under the folder list object 212, and theFolder of 4×100 bytes representative of an array of the IDs of thefolder objects 213 prepared under the folder list object 212 arerecorded. In the arbitrary data recording area 202 of the folder listobject 212, Reserve of 612 bytes is provided.

FIG. 40 shows the data format of the folder object 213. Since the folderobject 213 belongs to the basic object first type shown in FIG. 26A, itincludes the object identifier recording area 201 and the arbitrary datarecording area 202. In the object identifier recording area 201 of thefolder object 213, the object identifier OID of 4 bytes is recorded.

In the arbitrary data recording area 202 of the folder object 213, amaximum value MAX (4 bytes) of album objects 214 which can be preparedunder the folder object 213, the number N (4 bytes) of album objects 214prepared under the folder object 213, the Album of 4×200 bytesrepresentative of an array of the IDs of the album objects 214 preparedunder the folder object 213, and the Title of 36 bytes representative ofthe folder name of the folder object 213. In the arbitrary datarecording area 202 of the folder object 213, Reserve of 176 bytes isprovided.

FIG. 41 shows the data format of the album object 214. Since the albumobject 214 belongs to the basic object first type shown in FIG. 26A, itincludes the object identifier recording area 201 and the arbitrary datarecording area 202. In the object identifier recording area 201 of thealbum object 214, the object identifier OID of 4 bytes is recorded.

In the arbitrary data recording area 202 of the album object 214, amaximum value MAX (4 bytes) of track objects 215 which can be preparedunder the album object 214, the number N (4 bytes) of track objects 215prepared under the album object 214, the Track of 4×400 bytesrepresentative of an array of the IDs of the track objects 215 preparedunder the album object 214, the Title of 516 bytes representative of thetitle of the album object 214, the Artist of 260 bytes representative ofthe artist name of the album object 214, the Creation Date of 8 bytesrepresentative of the date and hour of preparation of the album object214, and the medium key of 32 bytes representative of a medium key ofthe music CD 3 which is the source of the album object 214 are recorded.In the arbitrary data recording area 202 of the album object 214,Reserve of 1,660 bytes is provided.

FIG. 42 shows the data format of the track object 215. Since the trackobject 215 belongs to the basic object second type shown in FIG. 26B, itincludes the object identifier recording area 201, the arbitrary datarecording area 202, and the file identifier recording area 203. In theobject identifier recording area 201 of the track object 215, the objectidentifier OID of 4 bytes is recorded. In the file identifier recordingarea 203 of the track object 215, the SOID of 4 bytes representative ofthe file identifier of contents data (recorded in the file recordingarea 121) which individually correspond in a one-by-one correspondingrelationship to the file identifiers is recorded.

In the arbitrary data recording area 202 of the track object 215, theTitle of 516 bytes representative of the tune name of the track object215, the Artist of 260 bytes representative of the artist name of thetrack object 215, the Time of 8 bytes representative of the period oftime of reproduction of the album object 214, the Last Access Date of 8bytes representative of the date and hour of last accessing to the trackobject 215, the play counter (PC) of 4 bytes representative of thenumber of times of reproduction of the track object 215, the CreationDate of 8 bytes representative of the date and hour of preparation ofthe track object 215, and the AC of 12,544 bytes representative of thetune attribute and reproduction control information (information for theprotection of the copyright) of the contents data corresponding to thetrack object 215. In the arbitrary data recording area 202 of the trackobject 215, Reserve of 980 bytes is provided.

FIG. 43 shows details of the AC of 1,255 bytes recorded in the arbitrarydata recording area 202 of the track object 215. Recorded in the AC areCkey of 8 bytes representative of a contents key, Codec of 1 byterepresentative of the codec identification value, Codec Attr of 1 byterepresentative of the codec attribute, LT of 1 byte representative ofreproduction limitation information, VLD of 1 byte representative of avalidity checking flag, LCMLOGNUM of 1 byte representative of the numberof checkout destinations, CDI of 16 bytes representative of codecdependency information, CID of 20 bytes representative of a contentsserial number, PBS of 8 bytes representative of the starting date andhour of reproduction permission, PBE of 8 bytes representative of theending date and hour of reproduction permission, XCC of 1 byterepresentative of an expanded CC, CT of 1 byte representative of theremaining number of times of reproduction, CC of 1 byte representativeof contents control information, CN of 1 byte representative of theremaining number of times of checkout, SRC of 40 bytes representative ofsource information, and LCMLOG of 48×256 bytes representative ofinformation including the apparatus IDs of the checkout destinations andflags.

Particularly of the CC of 1 byte representative of contents controlinformation, the first bit from the MSB (Most Significant Bit) siderepresents presence or absence of the copyright (0: present, 1: absent);the second bit from the MSB side represents the generation (0: original,1: other than the original); and the third and fourth bits from the MSBside are not used.

The information represented by the fifth to seventh bits from the MSBside of the CC is such as follows. In particular, where 010 is recordedin the fifth to seventh bits of the CC from the MSB side, thisrepresents checkout permission (edit is permitted). If 011 is recordedin the fifth to seventh bits of the CC from the MSB side, thisrepresents move permission (edit by the PD 5 is inhibited). If 100 isrecorded in the fifth to seventh bits of the CC from the MSB side, thisrepresents import permission (edit by the PD 5 is permitted). If 110 isrecorded in the fifth to seventh bits of the CC from the MSB side, thisrepresents import permission (edit by the PD 5 is inhibited).

FIG. 44 shows the data format of contents data which correspond in aone-by-one corresponding relationship to the track objects 215. Thecontents data include AT3H of 16 kilobytes representative of anATRAC3header, PRT of 16 kilobytes representative of an ATRAC3 part, andAT3SU-1 to AT3SU-N of 16 kilobytes each representative of sound unitstrings.

FIG. 45 shows the data format of the CC object 216. The CC object 216belongs to the basic object second type shown in FIG. 26B. Consequently,the CC object 216 includes the object identifier recording area 201 andthe arbitrary data recording area 202. In the object identifierrecording area 201 of the CC object 216, the object identifier OID of 4bytes is recorded.

In the arbitrary data recording area 202 of the CC object 216, Reserveof 16 bytes is provided. In the file identifier recording area 203 ofthe CC object 216, SOID of 4 bytes representative of the file identifierof the corresponding CC data (recorded in the file recording area 121)is recorded.

FIG. 46 shows the format of the CC data recorded in the file recordingarea 121. The CC data include CatFolder of 10 kilobytes, CatAlbum of 200kilobytes and CatTrack of 600 kilobytes. In the CatFolder, informationrepresentative of the object identifier OID of a folder object 213corresponding to a folder selected by the user is recorded. In theCatAlbum, information representative of the object identifier OID of analbum object 214 which corresponds to an album selected by the user isrecorded. In the CatTrack, information representative of the objectidentifier OID of a track object 215 corresponding to a track selectedby the user is recorded.

Accordingly, for example, if the user selects, upon reproduction, atrack to be reproduced, then the object identifier OID of a track object215 which corresponds to the selected track is discriminated based onthe CatTrack of the CC data, and a corresponding file identifier isacquired from the discriminated track object 215 and the contents dataare read out and reproduced.

Now, a flow of data when each function of the audio server 1 is executedand matching thereof with the firmware are described with reference toFIGS. 47 to 56.

FIG. 47 shows a flow of data when CD ripping is executed. In CD rippingwherein the music CD 3 is recorded at a high speed, the digital audiodata of the music CD 3 is read out at the CAV eightfold speed by theCD-ROM drive 57 and buffered into the buffer 56 under the control of theCD MW 88. Further, under the control of the HD MW 82, digital audio databuffered in the buffer 56 are inputted to the WM screen 60-2, by which awatermark is detected. Then, under the control of the HD MW 82, thedigital audio data buffered in the buffer 56 are encoded and encryptedin accordance with the ATRAC 3 system at an average fivefold speed bythe encoder 59, and resulting coded data are buffered by the buffer 56and then transferred to and recorded into the HDD 58. It is to be notedthat, though not shown, during CD ripping, sound corresponding to thedigital audio data recorded is outputted from the speakers 2.

FIG. 48 illustrates a flow of data when CD recording is executed. In CDrecording wherein the music CD 3 is reproduced and the reproduced soundis recorded, digital audio data of the music CD 3 are read out at a CAVeightfold speed by the CD-ROM drive 57 and buffered by the buffer 56under the control of the CD MW 88. Then, under the control of the HD MW82, the digital audio data buffered in the buffer 56 are encoded andencrypted in accordance with the ATRAC 3 system at an average fivefoldspeed by the encoder 59, and resulting coded data are buffered by thebuffer 56 and then transferred to and recorded into the HDD 58. Further,under the control of the HD MW 82, the audio data buffered in the buffer56 are supplied to the WM screen 60-2, by which a watermark is detected.

Meanwhile, the digital audio data buffered for monitor sound aretemporarily recorded into a ring buffer 241 (FIG. 61) provided in theHDD 58 and then read out and inputted to the audio I/F 60-3 under thecontrol of the HD MW 82. Then, under the control of the AIO MW 94, thedigital audio data are transferred to and converted into analog data bythe D/A 62, and corresponding sound is outputted from the speakers 2.

It is to be noted that details of CD ripping and CD recording arehereinafter described with reference to FIGS. 57 to 70B.

FIG. 49 illustrates a flow of data when HD recording of a digital inputis executed. In HD recording wherein a digital input is encoded andrecorded into the HDD 58, digital audio data inputted from the AUX-interminal 31 are supplied to the encoder 59 through the signal processingsection 60 under the control of the AIO MW 94. Then, under the controlof the HD MW 82, the digital audio data are encoded and encrypted inaccordance with the ATRAC3 system by the encoder/decoder 59, andresulting coded data are transferred first to the buffer 56 and thentransferred to and recorded into the HDD 58. Further, under the controlof the HD MW 82, a watermark is detected by the WM screen 60-2 of thesignal processing section 60. Furthermore, under the control of the AIOMW 94, the digital audio data are transferred through the audio I/F 60-3of the signal processing section 60 to and converted into analog data bythe D/A 62 and then outputted from the speakers 2.

FIG. 50 illustrates a flow of data when HD recording of an analog inputis executed. In HD recording wherein an analog input is encoded andrecorded into the HDD 58, analog audio data inputted from the AUX-interminal 31 are digitized by the A/D 62 and supplied to the encoder 59under the control of the AIO MW 94. Then, under the control of the HD MW82, the digital audio data are encoded and encrypted in accordance withthe ATRAC 3 system by the encoder 59, and resulting coded data aretransferred first to the buffer 56 and then transferred to and recordedinto the HDD 58. Further, under the control of the HD MW 82, a watermarkis detected from the digital output of the A/D 62 by the WM screen 60-2.Furthermore, under the control of the AIO MW 94, the analog audio datainputted from the AUX-in terminal 31 are outputted from the speakers 2.

FIG. 51 illustrates a flow of data when HD play is executed. In HD playwherein coded data of the HDD 58 are reproduced, the coded data read outfrom the HDD 58 are buffered by the buffer 56 and then decrypted anddecoded by the decoder 59 under the control of the HD MW 82. Resultingdigital audio data are buffered by the buffer 56 once and thentransferred to the audio I/F 60-3. Then, under the control of the AIO MW94, the digital audio data are transferred through the audio I/F 60-3 toand converted into analog data by the D/A 62 and outputted from thespeakers 2.

FIG. 52 illustrates a flow of data when CD play is executed. In CD playwherein the music CD 3 is reproduced, digital audio data of the music CD3 are read out by the CD-ROM drive 57 and buffered by the buffer 56 andthen transferred to the audio I/F 60-3 under the control of the CD MW88. Then, under the control of the AIO MW 94, the digital audio data aretransferred through the audio I/F 60-3 to and converted into analog databy the D/A 62 and then outputted from the speakers 2.

FIGS. 53A and 53B illustrate flows of data when MS play is executed. InMS play wherein coded data of the MS 4 are reproduced, as shown in FIG.53A, coded data of the MS 4 are supplied to the MG MS I/F 60-1 under thecontrol of the MS MW 89, and after mutual authentication by the MG MSI/F 60-1, the coded data are decrypted and then decoded by a decoderbuilt in the signal processing section 60. Then, under the control ofthe AIO MW 94, the digital audio data obtained by the decoding by theaudio I/F 60-3 are transferred to and converted into analog data by theD/A 62 and then outputted from the speakers 2.

Or else, as shown in FIG. 53B, under the control of the MS MW 89, codeddata are read out from the MS 4 and supplied to the MG MS I/F 60-1, andthen decrypted by the MG MS I/F 60-1 after mutual authentication. Thedecrypted data are buffered by the buffer 56 and decoded by the decoder59, and resulting digital audio data are outputted to the D/A 62 throughthe buffer 56. Thereafter, under the control of the AIO MW 94, the audiodata after conversion into analog data by the D/A 62 are outputted fromthe speakers 2.

FIG. 54 illustrates a flow of data when MS checkout/moveout is executed.In MS checkout wherein coded data of the HDD 58 are copied into the MS 4and moveout wherein coded data of the HDD 58 are moved to the MS 4,coded data read out from the HDD 58 are buffered by the buffer 56 underthe control of the HD MW 82. Then, the buffered coded data aretransferred to the MG MS I/F 60-1 and recorded into the MS 4 under thecontrol of the MS MW 89. It is to be noted that the checkout and themoveout are hereinafter described in detail.

FIG. 55 illustrates a flow of data when MS import/movein is executed. Inthe MS import/movein wherein coded data of the MS 4 are moved to the HDD58, coded data of the MS 4 are transferred to the buffer 56 through theMG MS I/F 60-1 under the control of the MS MW 89. Then, under thecontrol of the HD MW 82, the buffered coded data are transferred to andrecorded into the HDD 58. It is to be noted that the import/movein arehereinafter described in detail.

FIG. 56 illustrates a flow of data when PD checkout is performed. In PDcheckout wherein coded data of the HDD 58 are copied into the PD 5,coded data read out from the HDD 58 are buffered by the buffer 56,decoded by the encoder/decoder 59 and encrypted back into data for thePD 5, and buffered by the buffer 56 under the control of the HD MW 82.Then, under the control of the PD MW 90, the buffered coded data arerecorded into the PD 5 through the USB controller 54 and the USBconnector 43.

Subsequently, details of CD ripping and CD recording are described withreference to FIGS. 57 to 70B. The process of the CD ripping is a processexecuted when the high speed recording button 24 is depressed by theuser. The process of the CD recording is a process executed when therecording button 23 is depressed by the user.

Differences between the CD ripping and the CD recording are describedwith reference to FIGS. 57 and 58. The upper stage of FIG. 57illustrates periods of a monitor sound output in the CD ripping. Thelower stage of FIG. 57 illustrates periods of a recording process in theCD ripping (a process of encoding and recording). The upper stage ofFIG. 58 illustrates periods of a monitor sound output in the CDrecording, and the lower stage of FIG. 58 illustrates periods ofrecording process in the CD recording (a process of encoding andrecording).

As can be apparently seen from comparison between FIGS. 57 and 58, thetotal period of time required for the recording process is equal betweenthe CD ripping and the CD recording. In particular, the process ofencoding audio data (PCM data) of the music CD 3 in accordance with theATRAC 3 system and recording the coded data into the HDD 58 is performedat an average fivefold speed with respect to the reproduction speed ofaudio data.

For example, when the music CD 3 wherein six tunes each of whichrequires a reproduction period of time of 10 minutes are recorded andthe total reproduction time period of the six tunes is 60 minutes isrecorded by CD ripping or CD recording, the tunes are successivelyrecorded while approximately two minutes are required for each tune.

The difference between the CD ripping and the CD recording is the periodof a monitor music output.

In the CD ripping, monitor sound is outputted only for a period of timefor which recording processing of corresponding audio data is performed.In the case of the music CD 3 described above, sound for approximately 2minutes is outputted at the normal reproduction speed beginning with thetop of the first tune, and then, sound for approximately 2 minutes isoutputted at the normal reproduction speed beginning with the top of thesecond tune, whereafter sound for approximately 2 minutes is outputtedat the normal speed beginning with each of the successive tunes.Accordingly, also the monitor sound output is ended simultaneously withthe end of the recording process.

In the CD recording, monitor sound is outputted independently of theproceeding situation of the recording process of corresponding audiodata. In the case of the music CD 3 described above, all sound of thefirst tune is outputted at the normal reproduction speed, and then allsound of the second tune is outputted at the normal speed, whereafterall sound of each of the successive tunes is outputted at the normalspeed. Accordingly, even if the recording process is ended, the monitorsound output of the corresponding audio data is continued till the endof the last sixth tune.

It is to be noted that the CD ripping and the CD recording allowsuitable changeover therebetween in the course of the respectiveprocessing.

FIG. 59 illustrates a state of the buffer 56 when CD ripping or CDrecording is performed. The buffer 56 includes a PCM data read buffer231 for buffering audio data (PCM data) read out from the music CD 3 andnot encoded as yet, and a coded data buffer 232 for buffering coded dataencoded and encrypted by the encoder/decoder 59.

FIG. 60 illustrates a state transition of the PCM data read buffer 231and the coded data buffer 232 provided in the buffer 56 and a PCM datareproduction buffer 251 built in the audio I/F 60-3. Each of the PCMdata read buffer 231, coded data buffer 232 and PCM data reproductionbuffer 251 is in one of an initial write enabled state, a writing statewhich is entered when writing of data is started, a read enabled statewhich is entered after the writing of data is ended, and a reading statewhich is entered when readout of data is started. It is to be notedthat, after the readout of data is ended in the reading state, the writeenabled state is restored.

FIG. 61 shows a structure of the ring buffer 241 provided in the HDD 58in order to buffer PCM data for a monitor sound output when CD rippingor CD recording is executed.

To the ring buffer 241 having a predetermined capacity (for theconvenience of description, from the address 0 to address max), a readpointer 242 indicative of a readout start address and a write pointer243 indicative of a write start address are set. The ring buffer 241 ispartitioned into a read enabled area 244 from the address indicated bythe read pointer 242 to the address indicated by the write pointer 243in the forward direction, and a write enabled area 245 from the addressindicated by the write pointer 243 to the address indicated by the readpointer 242 in the forward direction. The capacity of the read enabledarea 244 is referred to as read margin. The capacity of the writeenabled area 245 is referred to as write margin.

FIG. 62 illustrates a flow of data between buffers in CD ripping and CDrecording. PCM data of the music CD 3 are read out by the CD-ROM drive57 and buffered by the PCM data read buffer 231 provided in the buffer56. The PCM data buffered in the PCM data read buffer 231 aretransferred to and encoded and encrypted by the encoder/decoder 59.Resulting coded data are buffered by the coded data buffer 232 providedin the buffer 56. The coded data buffered in the coded data buffer 232are transferred to the HDD 58 and recorded into the file recording area121.

Meanwhile, the PCM data buffered in the PCM data read buffer 231 aretransferred to the HDD 58 and buffered by the ring buffer 241 providedin the HDD 58. The PCM data buffered in the ring buffer 241 aretransferred to and buffered by the PCM data reproduction buffer 251built in the audio I/F 60-3, and converted into analog data by the AD/DA62 and then outputted from the speakers 2.

Now, a recording speed setting process regarding CD ripping and CDrecording is described with reference to a flow chart of FIG. 63. Therecording speed setting process is executed repetitively while the musicCD 3 is selected as a sound source, that is, while the music CD 3 isloaded in the CD-ROM drive 57 and the CD is selected by the functionbutton 12.

At step S281, the input handle middleware 97 starts supervision for anoperation of various buttons by the user. At step S282, the input handlemiddleware 97 waits until an operation by the user is performed for thevarious buttons, and if it is discriminated that an operation by theuser is performed for the various buttons, then the information isconveyed to the main APP 76. The main APP 76 discriminates whether ornot the operation is an operation for the recording button 23. If it isdiscriminated that the operation is an operation for the recordingbutton 23, then the processing advances to step S283.

At step S283, the main APP 76 issues to the HD APP 77 a notificationthat the recording button 23 is operated. The HD APP 77 notifies the CDRIPPING 84 of the HD MW 82 that the recording button 23 is operated. TheCD RIPPING 84 sets a high speed recording flag provided in the SDRAM 53of the CD RIPPING 84 itself or the like to an off state. The processingreturns to step S281.

If it is discriminated at step S282 that an operation by the user isperformed for the various buttons and it is discriminated that theoperation is not an operation for the recording button 23, then theprocessing advances to step S284. At step S284, the main APP 76discriminates whether or not the operation is an operation for the highspeed recording button 24. If it is discriminated that the operation isan operation for the high speed recording button 24, then the processingadvances to step S285.

At step S285, the main APP 76 notifies the HD APP 77 that the high speedrecording button 24 is operated. The HD APP 77 notifies the CD RIPPING84 of the HD MW 82 that the high speed recording button 24 is operated.The CD RIPPING 84 sets the high speed recording flag to an on state. Theprocessing returns to step S281.

If it is discriminated at step S284 that the operation is not anoperation for the high speed recording button 24, the processing returnsto step S281.

Through the recording speed setting process described above, if the highspeed recording button 24 is operated to set the high speed recordingflag to an on state, then such CD ripping as illustrated in FIG. 57 isexecuted. On the contrary, if the recording button 23 is operated to setthe high speed recording flag to an off state, then such CD recording asseen in FIG. 58 is executed. It is to be noted that changeover from CDripping to CD recording or reverse changeover from CD recording to CDripping can be performed at an arbitrary timing in response to anoperation of a button by the user.

Now, a CD recording process is described with reference to a flow chartof FIG. 64. The CD recording process is a process controlled by the CDRIPPING 84 included in the HD MW 82 and is started when the music CD 3is loaded and the function button 12 is operated to set the sound sourceto the CD and then the recording button 23 or the high speed recordingbutton 24 is operated.

At step S291, the user selects a tune to be recorded from the music CD 3while the system is in a recording pause state as a result of anoperation of the recording button 23 or the high speed recording button24. More particularly, the user operates the cursor button 17 to selectone of the tunes recorded on the music CD 3 and operates the enterbutton 20 to finally determine the tune selection. By repeating theseries of operations, all tunes to be recorded are selected. It is to benoted that, particularly if a tune selection operation is not performed,then this signifies that all of the tunes recorded on the music CD 3 areselected.

The user operates the reproduction/pause button 26 when the tuneselection is completed. The processing advances to step S292.

At step S292, the CD RIPPING 84 initializes ring buffer informationincluding information of a read start address indicated by the readpointer 242 set for the ring buffer 241 and so forth. The ring bufferinformation initialization process is described with reference to a flowchart of FIG. 65. At step S301, the CD RIPPING 84 sets the read startaddress indicated by the read pointer 242 and the write start addressindicated by the write pointer 243 to the address 0 of the ring buffer241. Further, the CD RIPPING 84 sets the read margin of the ring buffer241 to 0 and sets the write margin to the maximum value max. Thedescription of the ring buffer initialization process is endedtherewith.

Referring back to FIG. 64, at step S293, the CD RIPPING 84 successivelyselects one of the tunes selected at step S291 to execute a recordingprocess for one tune. The recording process for one tune is describedwith reference to a flow chart of FIG. 66. At step S311, the CD RIPPING84 requests the CD MW 88 to buffer the PCM data of the tune of the musicCD 3, which is to be recorded, successively by each predetermined dataamount (for example, a data amount for two seconds) into the PCM dataread buffer 231 which is in a write enabled state. When writing(buffering) of the predetermined amount of the PCM data is ended, thestate of the PCM data read buffer 231 is changed to the read enabledstate.

At step S312, the CD RIPPING 84 controls the encoder/decoder 59 toencode (encode and encrypt) the predetermined amount of PCM databuffered in the PCM data read buffer 231. When the reading out of thepredetermined amount of PCM data from the PCM data read buffer 231 isended, the state of the PCM data read buffer 231 changes to the writeenabled state.

Further, the CD RIPPING 84 starts a monitor sound outputting process.The monitor sound outputting process is described with reference to FIG.67.

At step S313, the CD RIPPING 84 causes a predetermined amount of codeddata obtained by encoding to be buffered into the coded data buffer 232of the buffer 56 which is in a write enabled state. When the writing(buffering) of the predetermined amount of coded data (for example, fortwo seconds) is ended, the state of the coded data buffer 232 changes toa read enabled state.

At step S314, the CD RIPPING 84 causes the predetermined amount of codeddata buffered in the coded data buffer 232 to be recorded into the filerecording area 121 of the HDD 58. It is to be noted that the process ofrecording coded data successively by a predetermined data amount intothe file recording area 121 corresponds to the file preparation processdescribed hereinabove with reference to FIG. 14. Also the objectpreparation process described hereinabove with reference to FIG. 28 isperformed.

At step S315, the CD RIPPING 84 discriminates whether or not coded datafor one tune are recorded. If it is discriminated that coded data forone tune are not recorded as yet, then the processing returns to stepS311 so that the processes at the steps beginning with step S311 arerepeated. Thereafter, if it is discriminated at step S315 that codeddata for one tune are recorded, then the recording process for one tuneis ended.

After the recording process for one tune is executed in such a manner asdescribed above, the processing returns to step S294 of FIG. 64. At stepS294, the CD RIPPING 84 discriminates whether or not all of the tunesselected at step S291 are recorded already. If it is discriminated thatall of the selected tunes are not recorded as yet, then the processingreturns to step S293, at which the recording process for one tune withregard to the next tune is performed.

Thereafter, if it is discriminated at step S294 that all of the selectedtunes are recorded, then the CD recording process is ended.

Here, the monitor sound outputting process started at step S312 isdescribed with reference to FIG. 67. At step S321, the CD RIPPING 84discriminates whether or not the high speed recording flag is on. If itis discriminated that the high speed recording flag is on, then theprocessing advances to step S322.

At step S322, the CD RIPPING 84 discriminates whether or not therecording process for one tune for the corresponding PCM data is ended.If it is discriminated that the recording process for one tune for thecorresponding PCM data is not ended, then the processing advances tostep S323 in order to output monitor sound of the PCM data whoserecording process for one tune is proceeding.

At step S323, the CD RIPPING 84 starts a writing process of the PCM databuffered in the PCM data read buffer 231 into the ring buffer 241.Without waiting the end of the process at step S323, the CD RIPPING 84starts a reading process of the PCM data recorded in the ring buffer 241at step S324.

The writing process into the ring buffer 241 at step S323 is describedwith reference to a flow chart of FIG. 68.

At step S331, the CD RIPPING 84 discriminates whether or not the highspeed recording flag is on. If it is discriminated that the high speedrecording flag is on, then the processing advances to step S332. At stepS332, the CD RIPPING 84 executes the ring buffer informationinitialization process described hereinabove with reference to FIG. 65.

At step S333, the CD RIPPING 84 starts writing of the PCM data recordedin the PCM data read buffer 231 into the write enabled area 245beginning with the writing start address of the ring buffer informationindicated by the write pointer 243. At step S334, the CD RIPPING 84advances the value of the writing start address indicated by the writepointer 243 included in the ring buffer information in the forwarddirection by an amount corresponding to the PCM data written at stepS333, and updates the values of the write margin and the read margin ina corresponding relationship.

It is to be noted that, if it is discriminated at step S331 that thehigh speed recording flag is not on, then the processing advances tostep S335. At step S335, the CD RIPPING 84 refers to the ring bufferinformation to discriminate whether or not the size of the PCM datarecorded in the PCM data read buffer 231 is equal to or smaller than thewrite margin of the ring buffer 241. If the size of the PCM datarecorded in the PCM data read buffer 231 is equal to or smaller than thewrite margin of the ring buffer 241, then the processing advances tostep S333.

It is to be noted that, if it is discriminated at step S335 that thesize of the PCM data recorded in the PCM data read buffer 231 is notequal to or smaller than the write margin of the ring buffer 241, thenthe processing returns to step S331. Consequently, the processes at stepS331 and step S335 are repeated until after it is discriminated at stepS331 that the high speed recording flag is on as a result of a change ofthe setting of the recording speed by the user or it is discriminated atstep S335 that the size of the PCM data recorded in the PCM data readbuffer 231 is not equal to or smaller than the write margin of the ringbuffer 241 as a result of an increase of the write margin of the ringbuffer 241. The description of the writing process into the ring buffer241 is ended therewith.

The reading out process from the ring buffer 241 at step S324 isdescribed with reference to a flow chart of FIG. 69. At step S341, theCD RIPPING 84 discriminates whether or not the PCM data reproductionbuffer 251 built in the audio I/F 60-3 is in a write enabled state, andwaits until it is discriminated that the PCM data reproduction buffer isin a write enabled state. If it is discriminated that the PCM datareproduction buffer is in a write enabled state, then the processingadvances to step S342.

At step S342, the CD RIPPING 84 reads out the PCM data recorded in theread enabled area 244 of the ring buffer 241 in accordance with thereadout start address indicated by the read pointer 242 for the ringbuffer 241, and writes the PCM data into the PCM data reproductionbuffer 251.

At step S343, the CD RIPPING 84 advances the value of the readout startaddress indicated by the read pointer 242 included in the ring bufferinformation in the forward direction by an amount corresponding to thePCM data read out at step S342, and updates the write margin and theread margin in a corresponding relationship.

At step S344, the CD RIPPING 84 changes the PCM data reproduction buffer251 into a read enabled state. The description of the reading outprocess from the ring buffer 241 is ended therewith.

Referring back to FIG. 67, at step S325, the AIO MW 94 causes the PCMdata reproduction buffer 251 to output the PCM data buffered therein tothe AD/DA 62. The AD/DA 62 starts reproduction of the PCM data inputtedthereto so that corresponding sound is outputted from the speakers 2.

At step S326, the CD RIPPING 84 discriminates whether or not thereproduction of the PCM data for one tune is ended. If it isdiscriminated that the reproduction of the PCM data for one tune is notended, then the processing returns to step S321 so that the processes atthe steps beginning with step S321 are repeated. Then, if it isdiscriminated at step S326 that the reproduction of the PCM data for onetune is not ended, then the monitor sound outputting process is ended.

It is to be noted that, if it is discriminated at step S322 that therecording process for one tune with regard to the corresponding PCM datais ended, the monitor sound outputting process is stopped immediately.The description of the CD recording process is ended therewith.

It is to be noted that, in the course of the CD recording process, achangeover from CD ripping to CD recording or conversely from CDrecording to CD ripping can be performed at an arbitrary timing inresponse to an operation of the recording button 23 or the high speedrecording button 24 by the user.

Here, examples of display of the display unit 15 when CD ripping isexecuted are shown in FIGS. 70A and 70B. FIG. 70A shows an example ofdisplay of information relating to recording setting which is displayedimmediately before recording is started. In this instance, display areas261 to 267 are provided on the display unit 15. In the present displayexample, information representative of a recording source and arecording destination is displayed in the display area 261. In thedisplay area 262, a representation that information regarding recordingsetting is displayed is displayed. In the display area 263, a foldername representative of a storage place is displayed. In the display area264, an album name and an artist name of an album to be recorded aredisplayed. In the display area 265, a bit rate upon the recording isdisplayed. In the display area 266, a recording level upon recording isdisplayed. In the display area 267, a representation that recording isstarted in response to depression of the reproduction/pause button 26. Arecording level upon recording is displayed.

FIG. 70B shows an example of display while recording is being executed.In this instance, display areas 271 to 278 are provided on the displayunit 15. In the present display example, information representative of arecording source and a recording destination is displayed in the displayarea 271. In the display area 272, characters “High speed recording”representing that CD ripping is proceeding is displayed by blinkingdisplay. In the display area 273, an album name of a tune being recordedand an artist name are displayed. In the display area 274, a tune numberin the music CD 3 of the tune being recorded is displayed. In thedisplay area 275, a period of time elapsed for reproduction of the tunebeing recorded is displayed. In the display area 276, a reproductionremaining time period of the music CD 3 is displayed. In the displayarea 277, a progress bar 279 whose length varies in proportion to theadvancing situation of recording with respect to the total number oftunes to be recorded is displayed. In the display area 278, the totalnumber of the tunes to be recorded and the number of tunes which havebeen recorded or are being recorded are shown.

For example, where CD ripping for all tunes of an album whosereproduction time period is 60 minutes is performed, since recording isperformed at a substantially fivefold speed, the length of the progressbar 279 displayed in the display area 277 gradually increases after therecording is started, and increases to such a length that it occupiesthe entire display area 277 in approximately 12 minutes.

It is to be noted that the length of the progress bar 279 in the displayarea 277 may be varied not in accordance with the advancing situation ofrecording but in accordance with the period of time elapsed forreproduction of tunes.

Now, a method of reproducing contents data recorded in the HDD 58 isdescribed with reference to FIGS. 71 to 77. As described hereinabove,the audio server 1 encodes a tune recorded on the music CD 3 and recordscontents data as a file into the HDD 58. However, when a tune to bereproduced is to be designated, the audio server 1 urges the user todesignate not a file but objects of a folder, an album and a track whichform a hierarchical structure.

It is also possible to designate a plurality of tunes collectively astunes to be reproduced by designating the entire HDD, an arbitraryfolder or an arbitrary album as a reproduction area. Reproduction of atune is realized by decoding contents data corresponding to a trackincluded in a play list prepared based on a designated reproductionarea.

FIG. 71 shows an example of the reproduction area. If the entire HDDsurrounded by a broken line 281 is designated as the reproduction area,all of the track numbers in the HDD 58 are registered into a play listas shown in FIG. 72.

If a my select folder F1 surrounded by a broken line 282 is designatedas the reproduction area, the album numbers of all of the albums whichbelong to the my select folder F1 are registered into the play list asshown in FIG. 73.

If an album A1 of the my select folder F1 surrounded by a broken line283 is designated as the reproduction area, then the track numbers ofall of the tracks which belong to the album A1 of the my select folderF1 are registered into the play list.

If a track T1 of the album A1 which belongs to a temporary folder F2 isdesignated as a tune to be reproduced, then the track T1 of the album A1which belongs to the temporary folder F2 is registered into the playlist.

Now, a process of preparing a play list corresponding to a designatedreproduction area is described with reference to a flow chart of FIG.76.

This play list preparation process is a process controlled by the HDPLAY 85 included in the HD MW 82 and is started when the function button12 is operated to set the sound source to the HDD.

At step S351, the HD PLAY 85 discriminates whether or not the hierarchyof the object representative of a reproduction area selected by the useris the entire HDD. If it is discriminated that the hierarchy of theselected object is not the entire HDD, then the processing advances tostep S352. It is to be noted that, as a method of selecting areproduction area, the user either operates a reproduction areachangeover button (not shown) provided on the remote controller 7 ordepresses the cursor button 17, enter button 20, menu/cancel button 21and so forth provided on the lid 40 in a predetermined order.

At step S352, the HD PLAY 85 discriminates whether or not the hierarchyof the object selected by the user is a folder. If it is discriminatedthat the hierarchy of the selected object is not a folder, then theprocessing advances to step S353.

At step S353, the HD PLAY 85 discriminates that the hierarchy of theobject selected by the user is an album and advances the processing tostep S354.

At step S354, the HD PLAY 85 discriminates whether or not thereproduction/pause button 26 is operated. If it is discriminated thatthe reproduction/pause button 26 is operated, then the processingadvances to step S355. At step S355, the HD PLAY 85 discriminateswhether or not a play list corresponding to the hierarchy of theselected object is prepared already. If it is discriminated that such aplay list is not prepared yet, then the processing advances to stepS356. It is to be noted that, if it is discriminated that such a playlist is prepared already, then the step S356 is skipped.

At step S356, the HD PLAY 85 prepares a play list based on the hierarchyof the selected object.

It is to be noted that, if it is discriminated at step S354 that thereproduction/pause button 26 is not operated, then the processingreturns to step S351 so that the processes at steps beginning with stepS351 are repeated.

On the other hand, if it is discriminated at step S351 that thehierarchy of the selected object is the entire HDD, or if it isdiscriminated at step S352 that the hierarchy of the selected object isa folder, the processing advances to step S354. The description of theplay list preparation process is ended therewith.

It is to be noted that it is otherwise possible to prepare a pluralityof play lists corresponding to variable possible reproduction areas andrecord the play lists at a suitable location in advance such that, whena reproduction area is designated by the user, a corresponding one ofthe play lists prepared and recorded in advance is read out.

Subsequently, a reproduction process which is executed subsequently tothe end of the play list preparation process described above isdescribed with reference to a flow chart of FIG. 77 taking a casewherein the play mode is set to the all tune repeat mode as an example.

At step S361, the HD PLAY 85 discriminates whether or not an instructionto end the reproduction is issued through an operation of the stopbutton 25. If it is discriminated that an instruction to end thereproduction is not issued, then the processing advances to step S362.At step S362, the HD PLAY 85 successively designates all of the tracksincluded in the play list one by one as a reproduction track.

At step S363, the HD PLAY 85 reproduces contents data corresponding tothe reproduction track. More particularly, a track object correspondingto the reproduction track is specified based on CC data, and the fileidentifier of corresponding contents data is specified based on thevalue of the file identifier recording area 203 of the specified trackobject, and then the contents data are read out based on the specifiedfile identifier (=cluster number of the file recording area 121). Then,the contents data read out are decoded and outputted.

After the reproduction of the contents data corresponding to thereproduction track is ended, the processing returns to step S361 so thatthe processes at the steps beginning with step S361 are repeated.Thereafter, when it is discriminated at step S361 that an instruction toend the reproduction is issued through an operation of the stop button25, the reproduction process where the reproduction mode is the all tunerepeat mode is ended.

It is to be noted that the procedure in processing in any of thereproduction modes other than the all tune repeat mode is substantiallysimilar except that it is different only in the reproduction area andthe method of designating a reproduction track.

Subsequently, a process of moving out contents data recorded in the HDD58 of the audio server 1 to the MS 4 is described with reference toFIGS. 78 to 81.

Here, the process of moving out contents data recorded in the HDD 58 tothe MS 4 is a series of processes of copying contents data recorded inthe HDD 58 into the MS 4 and then deleting the contents data recorded inthe HDD 58.

The moveout process is described with reference to a flow chart of FIG.78. It is to be noted that the moveout process is controlled by the MSMW 89.

The moveout process is started when, while the MS 4 is inserted in theMS slot 45, the user operates the menu/cancel button 21 to display amenu and operates the cursor button 17 to select “editing”, and thenoperates the enter button 20 to display an edit menu and-operates thecursor button 17 to select “moveout”, whereafter the user operates theenter button 20 and operates the cursor button 17 and the select button18 to select tracks to be moved out, and operates the enter key 20 todisplay a list of the tracks to be moved out and further operates theenter key 20.

At step S371, the MS MW 89 requests the C IN/C OUT 87 to copy thecontents data, which are recorded in the HDD 58 and are to be moved out,as invalid right data (irreproducible data) into the MS 4. It is to benoted that, in order to change contents data into invalid right data, aflag included in attribute information of the contents data andrepresentative of whether or not the right is available is placed intoan off state. In other words, attribute information representing thatthe right is invalid and the contents data are copied into the MS 4.

At step S372, the C IN/C OUT 87 produces moveout history informationrepresenting that a moveout process is started and records the moveouthistory information into the HDD 58. The moveout history informationincludes information for specifying the tracks to be moved out. At stepS373, the C IN/C OUT 87 places the flag recorded in the HDD 58 andrepresentative of whether or not the right for the contents data isavailable into an off state to set the contents data of the HDD 58 asinvalid right data.

At step S374, the MS MW 89 places the flag representative of whether ornot the right for the contents data copied in the MS 4 is available toan on state to set the contents data of the MS 4 as valid right data.

At step S375, the C IN/C OUT 87 deletes the contents data recorded inthe HDD 58. At step S376, the C IN/C OUT 87 deletes the moveout historyinformation produced by the process at step S372.

The processes at steps S371 to S376 described above are a moveoutprocess of one set of contents data corresponding to one track, and theprocesses at steps S371 to S376 are performed for all of the selectedtracks.

It is to be noted that, if the moveout process is interrupted bydisconnection of the power supply or the like during the moveoutprocess, then a restoration process is executed after restoration of thepower supply in order to compensate for the interrupted moveout process.It is to be noted that the restoration process is hereinafter describedwith reference to FIGS. 86 to 88.

FIG. 79 illustrates a state transition in the moveout process. The state1 is a state before the moveout process is started. In particular, inthe state 1, contents data are recorded in the HDD 58 of the audioserver 1, and the right of the contents data of the HDD 58 is valid.

The state 2 is a state after the process at step S371 is performed. Inparticular, in the state 2, since the contents data recorded in the HDD58 of the audio server 1 have been copied into the MS 4, the contentsdata are recorded in both of the HDD 58 and the MS 4 and besides theright of the contents data of the HDD 58 is valid while the right of thecontents data of the MS 4 is invalid.

The state 3 is a state after the process at step S373 is performed. Inparticular, in the state 3, the contents data are recorded in both ofthe HDD 58 and the MS 4, and besides the right of the contents data ofthe HDD 58 and the right of the contents data of the MS 4 are invalid.

The state 4 is a state after the process at step S374 is performed. Inparticular, in the state 4, the contents data are recorded in both ofthe HDD 58 and the MS 4, and besides the right of the contents data ofthe HDD 58 is invalid while the right of the MS 4 is valid.

The state 5 is a state after the process at step S375 is performed. Inparticular, in the state 5, the contents data of the HDD 58 have beenerased, and consequently, the contents data are recorded only in the MS4 and the right of the contents data of the MS 4 is valid.

FIG. 80 shows an example of display of the display unit 15 when thetracks to be moved out are selected. On the display unit 15, only thoseof the tracks which can be moved out are displayed.

FIG. 81 shows an example of display of the display unit 15 while themoveout process is being carried out. In a display area 291 of thedisplay unit 15, the characters “Moveout” representing that moveout isbeing executed are displayed by blinking display. A check mark 292 isdisplayed alongside a track with regard to which the moveout iscompleted. In a display area 293, information representative of aproceeding situation of the moveout process (the number of tracks withregard to which moveout is proceeding or has been completed/total numberof the tracks to be moved out) is displayed.

Subsequently, a process of moving in contents data recorded in the MS 4to the HDD 58 of the audio server 1 is described with reference to FIGS.82 to 81.

Here, the process of moving in contents data recorded in the MS 4 to theHDD 58 is a series of processes of copying the contents data recorded inthe MS 4 into the HDD 58 and then deleting the contents data recorded inthe MS 4.

The movein process is described with reference to a flow chart of FIG.82. It is to be noted that the movein process is controlled by the MS MW89.

The movein process is started when, while the MS 4 is inserted in the MSslot 45, the user operates the menu/cancel button 21 to display a menuand operates the cursor button 17 to select “editing”, and then operatesthe enter button 20 to display an edit menu and operates the cursorbutton 17 to select “movein”, whereafter the user operates the enterbutton 20 and operates the cursor button 17 and the select button 18 toselect tracks to be moved in from within the contents data recorded inthe MS 4, and operates the enter key 20 to display a list of thecontents data to be moved in and further operates the enter key 20 andoperates the reproduction/pause button 26.

At step S381, the MS MW 89 requests the C IN/C OUT 87 to produce moveinhistory information representing that a movein process is started andrecords the movein history information into the HDD 58. The moveinhistory information includes information for specifying the contentsdata to be moved in.

At step S382, the C IN/C OUT 87 copies the contents data recorded in theMS 4 and to be moved in as invalid right data into the HDD 58. At stepS383, the MS MW 89 sets the flag which represents whether or not theright of the contents data recorded in the MS 4 is available to an offstate to set the contents data of the MS 4 as invalid right data.

At step S384, the C IN/C OUT 87 sets the flag which represents whetheror not the contents data copied in the HDD 58 have the right to an onstate to set the contents data of the HDD 58 as valid right data.

At step S385, the C IN/C OUT 87 requests the MS MW 89 to delete thecontents data recorded in the MS 4. At step S386, the C IN/C OUT 87deletes the movein history information produced by the process at stepS382.

The processes at steps S381 to 386 described above are a movein processof one set of contents data corresponding to one track, and theprocesses at steps S381 to S386 are performed for all of the selectedtracks.

It is to be noted that, if the movein process is interrupted bydisconnection of the power supply or the like during the movein process,then a restoration process is executed after restoration of the powersupply in order to compensate for the interrupted movein process.

FIG. 83 illustrates a state transition in the movein process. The state11 is a state before the movein process is started. In particular, inthe state 11, contents data are recorded in the MS 4, and the right ofthe contents data of the MS 4 is valid.

The state 12 is a state after the process at step S382 is performed. Inparticular, in the state 12, since the contents data recorded in the MS4 have been copied into the HDD 58, the contents data are recorded inboth of the MS 4 and the HDD 58 and besides the right of the contentsdata of the MS 4 is valid while the right of the contents data of theHDD 58 is invalid.

The state 13 is a state after the process at step S383 is performed. Inparticular, in the state 13, the contents data are recorded in both ofthe MS 4 and the HDD 58, and besides the right of the contents data ofthe MS 4 and the right of the contents data of the HDD 58 are invalid.

The state 14 is a state after the process at step S384 is performed. Inparticular, in the state 14, the contents data are recorded in both ofthe MS 4 and the HDD 58, and besides the right of the contents data ofthe MS 4 is invalid while the right of the HDD 58 is valid.

The state 15 is a state after the process at step S385 is performed. Inparticular, in the state 15, the contents data of the MS 4 have beenerased, and consequently, the contents data are recorded only in the HDD58 and the right of the contents data of the HDD 58 is valid.

FIG. 84 shows an example of display of the display unit 15 when contentsdata to be moved in are selected. On the display unit 15, only those ofthe contents data recorded in the MS 4 which can be moved in aredisplayed.

FIG. 85 shows an example of display of the display unit 15 while amovein process is being performed. In a display area 301 of the displayunit 15, the characters “Movein” representing that a movein process isbeing executed are displayed by blinking display. A check mark 302 isdisplayed alongside contents data with regard to which the movein iscompleted. In a display area 303, information representative of aproceeding situation of the movein process (the number of contents datawith regard to which movein is proceeding or has been completed/totalnumber of the contents data to be moved in) is displayed.

While the movein process is described above, also a process of importingcontents data from the MS 4 to the HDD 58 is carried out similarly. Thedifference between the movein process and the import process resides inhandling of contents data recorded in the HDD 58 by the movein processor the import process.

The audio server 1 can move out contents data recorded in the HDD 58through the movein process to another medium such as the MS 4 or the PD5, and besides can check out the contents data. However, while the audioserver 1 can check out contents data recorded in the HDD 58 through theimport process to another medium such as the MS 4 or the PD 5, it isinhibited from moving out the contents data.

Subsequently, a restoration process for compensating for an interruptedprocess such as a moveout process or a movein process when the processis interrupted by disconnection of the power supply or the like duringthe process is described with reference to FIG. 86. This restorationprocess is started immediately by the MS MW 89 after the power supply isrestored.

At step S391, the MS MW 89 discriminates whether or not moveout historyinformation is present in the HDD 58. If it is discriminated thatmoveout history information is present in the HDD 58, then theprocessing advances to step S392 in order to compensate for theinterrupted moveout process.

At step S392, the MS MW 89 executes a moveout restoration process. Themoveout restoration process is described with reference to a flow chartof FIG. 87.

At step S401, the MS MW 89 discriminates whether or not the right of thecontents data of the HDD 58 is invalid. If it is discriminated that theright of the contents data of the HDD 58 is invalid, then the processingadvances to step S402. Since the right of the contents data of the HDD58 is invalid, it indicates that the state then is the state 3 or thestate 4 in FIG. 79.

At step S402, the MS MW 89 deletes the contents data present in the HDD58. Here, if the state then is the state 4, the contents data present inthe HDD 58 are deleted so that the state wherein the moveout process iscompleted, that is, the state 5, is restored. On the other hand, if thestate then is the state 3, then the contents data present in the HDD 58are deleted, and the contents data of the invalid right remain in the MS4.

At this time, although the user loses the contents data, the copyrightof the proprietor of the contents data is protected. Further, since thecontents data of the invalid right in the MS 4 can be deleted by theuser using a file editing application for universal use, the wastefuldata, that is, the contents data of the invalid right, are not left inthe MS 4 at all.

However, conversely if a restoration process is performed such that thecontents data of the invalid right of the MS 4 are deleted while thecontents data of the invalid right in the HDD 58 are left, then wastefuldata, that is, the contents data of the invalid right, remain recordedin the HDD 58. Since contents data of the invalid right are notgenerated in normal operation, the audio server 1 which is a machine forexclusive use in the present embodiment does not have such a function aserases contents data of the invalid right in accordance with a userinstruction.

Consequently, in order to protect the copyright of contents data andfurther prevent invalid data from being recorded in the audio server 1,it is preferable to delete contents data present in the HDD 58 as atstep S402.

It is to be noted that, if it is discriminated at step S401 that theright of the contents data of the HDD 58 is not invalid, then the stepS402 is skipped. In particular, since the right of the contents data ofthe HDD 58 is not invalid, it represents that the state then is thestate 2 of FIG. 79. At this time, while the contents data of the invalidright are left in the MS 4, since the contents data of the invalid rightin the MS 4 can be deleted by a file editing application for universaluse by the user as described hereinabove, the wasteful data, that is,the contents data of the invalid right, are not left in the MS 4 at all.

At step S403, the MS MW 89 deletes the moveout history information ofthe HDD 58.

The processing returns to FIG. 86. At step S393, the MS MW 89discriminates whether or not movein history information is present inthe HDD 58. If it is discriminated that movein history information ispresent in the HDD 58, then the processing advances to step S394 inorder to compensate for the interrupted movein process.

At step S394, the MS MW 89 executes a movein restoration process. Themovein restoration process is described with reference to a flow chartof FIG. 88.

At step S421, the MS MW 89 discriminates whether or not the right of thecontents data of the HDD 58 is invalid. If it is discriminated that theright of the contents data of the HDD 58 is invalid, then the processingadvances to step S422. Since the right of the contents data of the HDD58 is invalid, it represents that the state then is the state 12 or thestate 13 in FIG. 83.

At step S422, the MS MW 89 deletes the contents data present in the HDD58.

Here, if the state then is the state 12, then the contents data presentin the HDD 58 are deleted so that the state before the movein process isperformed, that is, the state 11, is restored. On the other hand, if thestate then is the state 13, then the contents data present in the HDD 58are deleted, and the contents data of the invalid right remain in the MS4.

At this time, although the user loses the contents data, the copyrightof the proprietor of the contents data is protected. Further, since thecontents data of the invalid right in the MS 4 can be deleted using afile editing application for universal use by the user, the wastefuldata, that is, the contents data of the invalid right, are not left atall in the MS 4.

However, conversely if a restoration process is performed such that thecontents data of the invalid right of the MS 4 are deleted while thecontents data of the invalid right in the HDD 58 are left, then thewasteful data, that is, the contents data of the invalid right, remainrecorded in the HDD 58. Since contents data of the invalid right is notgenerated in normal operation, the audio server 1 which is a machine forexclusive use in the present embodiment does not have such a function aserases contents data of the invalid right in accordance with a userinstruction.

Consequently, in order to protect the copyright of contents data andfurther prevent invalid data from being recorded in the audio server 1,it is preferable to delete contents data present in the HDD 58 as atstep S422.

It is to be noted that, if it is discriminated at step S421 that theright of the contents data of the HDD 58 is not invalid, then the stepS422 is skipped. In particular, since the right of the contents data ofthe HDD 58 is not invalid, it represents that the state then is thestate 14 or the state 15 in FIG. 83. In the state 15, since the moveinprocess is completed, there occurs no problem. However, while, in thestate 14, the contents data of the invalid right are left in the MS 4,since contents data of the invalid right in the MS 4 can be deletedusing a file editing application for universal use by the user asdescribed hereinabove, the wasteful data, that is, the contents data ofthe invalid right, are not left in the MS 4 at all.

At step S423, the MS MW 89 deletes the movein history information of theHDD 58. The description of the movein restoration process is endedtherewith. The processing returns to FIG. 86, and the restorationprocess is ended.

It is to be noted that, if it is discriminated at step S391 of FIG. 86that moveout history information is not present in the HDD 58, thenthere is the possibility that either the moveout process has been endednormally or the state then is the state 1 or the state 2 in FIG. 79. Inthe case wherein the moveout process has been ended normally and thecase wherein the state then is the state 1 which is a state before themoveout process is performed, the moveout restoration process may beskipped.

Also in the state 2, the contents data-of the invalid right of the MS 4remain. However, since contents data of the invalid right can be deletedby the user using a file editing application for universal use, thewasteful data, that is, the contents data of the invalid right, are notleft in the MS 4 at all. Consequently, the process at step S392 isskipped.

Further, if it is discriminated at step S393 that movein historyinformation is not present in the HDD 58, then there is the possibilitythat either the movein process may have been ended normally or the statethen may be the state 11 in FIG. 83. In the case wherein the moveinprocess has been ended normally or the state then is the state 11 whichis a state prior to the move process, the movein restoration process maybe skipped, and therefore, the process at step S394 is skipped.

Further, even if the restoration process is interrupted after the powersupply is disconnected, since the process beginning with step S391 isexecuted again after the power supply is restored, the interruptedrestoration process is compensated for. The description of therestoration process is ended therewith.

Now, a process of checking out contents data recorded in the HDD 58 ofthe audio server 1 to the MS 4 is described with reference to FIGS. 89to 91.

Here, the process of checking out contents data recorded in the HDD 58is a process for temporarily producing a copy of contents data recordedin the HDD 58 in the MS 4 or the like and utilizing the copy of thecontents data. The number of times by which contents data can be checkedout is set in advance, and the checkout permissible time number isdecremented by one through a checkout process. However, if a checkinprocess hereinafter described is executed, then the decremented checkoutpermission time number is incremented by one.

The checkout process is described with reference to a flow chart of FIG.89. It is to be noted that the checkout process is controlled by the CIN/C OUT 87 of the HD MW 82.

The checkout process is started when, while the MS 4 is inserted in theMS slot 45, the user operates the menu/cancel button 21 to display amenu and operates the cursor button 17 to select “editing”, and thenoperates the enter button 20 to display an edit menu and operates thecursor button 17 to select “checkout”, whereafter the user operates theenter button 20.

At step S441, the C IN/C OUT 87 controls the HS DB 91 to acquire thecheckout permissible time numbers (checkout remaining time numbers) ofcontents data corresponding to all tracks which belong to an albumselected at present. A checkout permissible time number of contents datais recorded in the CN included in the AC (FIG. 42) of a correspondingtrack object (FIG. 43).

At step S442, the C IN/C OUT 87 requests pertaining firmware to displayinformation regarding those tracks which have a checkout permissibletime number equal to or greater than 1 (information of the tune title,checkout permissible time number and so forth) on the display unit 15.FIG. 90 shows an example of display of the display unit 15. In a displayarea 311 of the display unit 15, “HDD” is displayed as informationrepresentative of a sound source for the checkout. The display in adisplay area 312 indicates a checkout permissible time number ofcontents data corresponding to the track.

At step S443, the C IN/C OUT 87 discriminates whether or not a track tobe checked out is selected from among the displayed tracks, which can bechecked out, through operations of the cursor button 17 and the selectbutton 18 by the user. If it is discriminated that a track to be checkedout is selected, then the processing advances to step S444.

At step S444, the C IN/C OUT 87 adds the selected track to the checkoutlist. At step S445, the C IN/C OUT 87 decrements the display of thecheckout permissible time number of the contents data corresponding tothe selected track by 1. The processing returns to step S441 so that theprocesses at the steps beginning with step S441 are repeated.

It is to be noted that, if it is discriminated at step S443 that a trackto be checked out is not selected, then the processing advances to stepS446. At step S446, the C IN/C OUT 87 discriminates whether or not theuser issues an instruction to execute checkout by operating the enterkey 20 so that the list of tracks to be checked out is displayed andthen operating the enter key 20. If it is discriminated that aninstruction to execute checkout is not issued, then the processingreturns to step S441 so that the processes at the steps beginning withstep S441 are repeated.

Thereafter, if it is discriminated at step S446 that an instruction toexecute checkout is issued, then the processing advances to step S447.At step S447, the C IN/C OUT 87 reads out contents data corresponding tothe tracks included in the checkout list from the HDD 58 and requeststhe MS MW 89 to copy the read out contents data into the MS 4. It is tobe noted that the copy of the contents data includes information forspecifying the HDD 58 which is the source of the checkout.

At step S448, the C IN/C OUT 87 decrements the checkout permission timenumber recorded in the CN of the AC of the track object corresponding tothe copied contents data by one to update the value of the CN. Further,the C IN/C OUT 87 records information for specifying the MS 4 as theinformation of the checkout destination into the LCMLOG of the AC.

It is to be noted that, although description is omitted, also in thecheckout process, a flag which indicates whether or not reproduction ispermitted (whether the right is valid or invalid) is used forcompensation upon disconnection of the power supply or the like andprevention of production of an illegal copy similarly as in the moveoutprocess described hereinabove.

FIG. 91 shows an example of display of the display unit 15 while acheckout process is being executed. In a display area 321, thecharacters “Checkout” representing that checkout is proceeding aredisplayed by blinking display. A check mark 322 is displayed alongside atrack with regard to which the checkout is completed. A pointer 323 isdisplayed alongside a track with which the checkout is currentlyproceeding. In a display area 324, information indicative of aproceeding situation of the checkout process (the number of sets ofcontents data with regard to which the checkout is proceeding or hasbeen completed/total number of sets of contents data included in thecheckout list). The description of the checkout process is endedtherewith.

Now, a process of checking in contents data checked out to the MS 4 tothe HDD 58 is described with reference to FIGS. 92 and 93.

Here, the process of checking out contents data recorded in the MS 4 isa process of erasing a copy of contents data temporarily reproduced inthe MS 4 and incrementing the checkout permissible time number of theHDD 58 by 1 to return the checkout permissible time number to theoriginal value.

The checkin process is described with reference to a flow chart of FIG.92. It is to be noted that the checkin process is controlled by the CIN/C OUT 87 of the HD MW 82.

The checkin process is started when, while the MS 4 is inserted in theMS slot 45, the user operates the menu/cancel button 21 to display amenu and operates the cursor button 17 to select “editing”, and thenoperates the enter button 20 to display an edit menu and operates thecursor button 17 to select “checkin”, whereafter the user operates theenter button 20.

At step S451, the C IN/C OUT 87 requests the MS MW 89 to identify, fromamong the data recorded in the MS 4, those contents data which can bechecked in (the contents data checked out from the HDD 58 of the audioserver 1), and requests pertaining firmware to display the informationof the contents data which can be checked in on the display unit 15.

At step S452, the C IN/C OUT 87 controls the display unit 15 to displaythe information regarding the tracks which can be checked in(information such as the tune title). FIG. 93 shows an example ofdisplay of the display unit 15. In a display area 331 of the displayunit 15, “MS” is displayed as information indicative of the sound sourceof the checkin. An arrow mark 332 displayed next to the information ofthe tune title or the like of the contents data indicates that thecontents data can be checked in.

At step S452, the C IN/C OUT 87 discriminates whether or not contentsdata to be checked in are selected from among the displayed contentsdata which can be checked in by the user operating the cursor button 17and the select button 18. If it is discriminated that contents data tobe checked in are selected, then the processing advances to step S453.

At step S453, the C IN/C OUT 87 adds the selected contents data to thecheckin list. The processing returns to step S451 so that the processesat the steps beginning with step S451 are repeated.

It is to be noted that, if it is discriminated at step S452 thatcontents data to be checked in are not selected, then the processingadvances to step S454. At step S454, the C IN/C OUT 87 discriminateswhether or not an instruction to execute checkin is issued by the useroperating the enter key 20 to display a list of contents data to bechecked in and further operating the enter key 20. If it isdiscriminated that an instruction to execute checkin is not issued, thenthe processing returns to step S451 so that the processes at the stepsbeginning with step S451 are repeated.

Thereafter, if it is discriminated at step S454 that an instruction toexecute checkin is issued, then the processing advances to step S455. Atstep S455, the C IN/C OUT 87 requests the MS MW 89 to erase the contentsdata of the MS 4 included in the checkin list (only the flagrepresentative of whether or not reproduction is permitted may be set sothat it represents inhibition of reproduction, that is, the right isinvalidated).

At step S456, the C IN/C OUT 87 updates the checkout permissible timenumber recorded in the CN of the AC of the track object corresponding tothe original contents data recorded in the HDD 58 by 1 to update thevalue of the CN. Further, the C IN/C OUT 87 deletes the information forspecifying the MS 4 recorded as the information of the checkoutdestination from the LCMLOG of the AC. The description of the checkinprocess is ended therewith.

Now, an exchange process of successively executing a process of checkingin contents data recorded in the MS 4 and another process of checkingout a plurality of tracks belonging to an album in which a trackreproduced last by an HD playing function collectively into the MS 4 isdescribed with reference to FIGS. 94 to 97.

This exchange process is started when the user operates the exchangebutton 22 while the MS 4 is inserted in the MS slot 45.

At step S461, the C IN/C OUT 87 requests the MS MW 89 to identifycontents data which can be checked in from among data recorded in the MS4. At step S462, the C IN/C OUT 87 cooperates with the MS MW 89 to checkin the contents data of the MS 4, which can be checked in, one by oneset of contents data in a similar manner as in the checkin processdescribed hereinabove with reference to FIG. 92.

FIG. 95 shows an example of display of the display unit 15 while theprocess at step S462 is being performed. In a display area 381 of thedisplay unit 15, “MS” is displayed as information representative of thesound source of the checkin. In another display area 382, the characters“Now Checkin” representing that the checkin is being executed aredisplayed by blinking display. A “x” mark 383 displayed forwardly of theinformation of the tune title or the like of the contents data indicatesthat the contents data cannot be checked in. A check mark 384 indicatesthat the checkin of the contents data is completed. A pointer 385indicates that the checkin of the contents data is being executed.

At step S463, the C IN/C OUT 87 discriminates whether or not all of thecontents data of the MS 4 which can be checked in are checked in. If itis not discriminated that the contents data of the MS 4 which can bechecked in are checked in, then the processing returns to step S462, atwhich next contents data are checked in. Thereafter, if it isdiscriminated at step S463 that all of the contents data of the MS 4which can be checked in are checked in, then the processing advances tostep S464.

At step S464, the C IN/C OUT 87 cooperates with the HS DB 91 todetermine an album from which tracks which belong thereto should bechecked out collectively. More particularly, the HS DB 91 discriminatesthe track reproduced last based on the last access date and hour (FIG.42) of each of the track objects recorded in the object recording area122 and determines an album to which the track belongs as an album to bechecked out.

At step S465, the C IN/C OUT 87 selects one track (that is, contentsdata) from within the album to be checked out. At step S466, the C IN/COUT 87 discriminates whether or not the selected contents data can bechecked out. If it is discriminated that the selected contents data canbe checked out, then the processing advances to step S467.

At step S467, the C IN/C OUT 87 requests the MS MW 89 to discriminatewhether or not the MS 4 has a free capacity sufficient to check out theselected contents data. If it is discriminated that the MS 4 has a freecapacity sufficient to check out the selected contents data, then theprocessing advances to step S468.

At step S468, the C IN/C OUT 87 checks out the selected contents datasimilarly as in the checkout process described hereinabove withreference to FIG. 89.

FIG. 96 shows an example of display of the display unit 15 while theprocess at step S468 is being performed. In a display area 391 of thedisplay unit 15, “HDD” is displayed as information representative of thesound source of the checkout. In another display area 392, thecharacters “Now Checkout” indicating that the checkout is being executedare displayed by blinking display. A “x” mark displayed forwardly of theinformation of the tune title of contents data or the like indicatesthat the contents data cannot be checked out, and a check mark indicatesthat the checkout of the contents data is completed.

At step S469, the C IN/C OUT 87 discriminates whether or not all of thetracks (that is, contents data) included in the album to be checked outare selected at step S465. If it is discriminated that all contents dataare not selected at step S465, then the processing returns to step S465so that the processes at the steps beginning with step S465 arerepeated. Then, if it is discriminated at step S469 that all contentsdata are selected at step S465, then the exchange process is ended.

It is to be noted that, if it is discriminated at step S466 that theselected contents data cannot be checked out, then the steps S467 andS468 are skipped. Further, if it is discriminated-at step S467 that theMS 4 does not have a free capacity sufficient to check out the selectedcontents data, then the step S468 is skipped.

FIG. 97 shows an example of display of the display unit 15 immediatelyafter the exchange process is completed. In a display area 401 of thedisplay unit 15, the characters “COMPLETE” indicating that the exchangeprocess is completed are displayed.

As described above, only if the user operates the exchange button 22,then a checkin process from the MS 4 to the HDD 58 and a checkoutprocess from the HDD 58 to the MS 4 can be executed automatically. Thedescription of the exchange process is ended therewith.

Incidentally, the moveout process, movein process, import process,checkout process and checkin process described above can be executed notonly between the HDD 58 and the MS 4 but also between the HDD 58 and thePD 5 connected to the connector 43.

FIG. 98 shows an example of a hardware configuration of the PD 5. An LSI(Large Scale Integration) 410 which implements the PD 5 includes abuilt-in CPU 411 for controlling the entire LSI 410. To the CPU 411, aROM 412, a RAM 413, a DMA controller 414, a DSP (Digital SignalProcessor) 415, a buffer 416, an LCD interface (I/F) 417, a serialinterface (I/F) 418, and interfaces 419 and 420 are connected by a bus421.

The ROM 412 stores programs for implementing various functions of the PD5, an apparatus ID, a cryptographic key and so forth. The RAM 413temporarily stores predetermined data and programs when the CPU 411executes various processes. The DMA controller 414 controls datatransfer between the buffer 416 and a flash memory 426 and a USBcontroller 424 with the serial interface 418 interposed therein. The DSP415 decodes contents data recorded in the flash memory 426 and so forth.Further, the DSP 415 has a DES engine and performs encryption/decryptionof contents data using a cryptographic key. The buffer 416 temporarilybuffers data whose transfer is controlled by the DMA controller 417.

An LCD driver 422 and an LCD unit 423 are connected in the next stage tothe LCD interface 417. The USB controller 424 and a USB connector 425are connected in the next stage to the serial interface 418. The USBcontroller 424 controls data communication with the audio server 1connected through the USB connector 425. In the flash memory 426connected through the interface 419, contents data moved out from theaudio server 1 or the like and additional information to the contentsdata such as a tune title are recorded. A DAC 427 and an amplifier (AMP)428 are connected in the next stage to the interface 420. A power supplysection 429 feeds power to the LSI 410.

Audio data obtained by decoding of the DSP 415 are outputted to aheadphone or the like through the interface 420, DAC 427 and amplifier(AMP) 428.

Such processes as a moveout process between the HDD 58 and the MS 4 andsuch processes as a moveout process between the HDD 58 and the PD 5 aresubstantially similar to each other, and therefore, only differencesbetween them are described.

Encryption of contents data to be recorded into the MS 4 is performedusing a cryptographic key same as that used in encryption of thecontents data recorded in the HDD 58 of the audio server 1.Consequently, encrypted contents data can be moved out between the HDD58 and the MS 4 as they are without decrypting them.

In contrast, encryption of contents data to be recorded into the PD 5 isperformed using a cryptographic key different from that used inencryption of the contents data recorded in the HDD 58 of the audioserver 1. Consequently, as described hereinabove with reference to FIG.56, between the HDD 58 and the PD 5, contents obtained by decryptingencrypted contents data recorded on the HDD 58 and then encrypting thedecrypted contents data using the different cryptographic key for the PD5 are moved out.

The description of the moveout process, movein process, import process,checkout process and checkin process between the HDD 58 and the PD 5 isended therewith.

Subsequently, a store (STORE) function and a restore (RESTORE) functionof the audio server 1 are described with reference to FIGS. 99 to 107.

The store function is a function of temporarily storing, where therecording capacity of the MS 4 is short because of presence of data (forexample, a still picture file or a voice file) which cannot bereproduced by the audio server 1 other than contents data recordedalready in the MS 4, the data recorded already in the MS 4 other thanthe contents data as a single archive file which includes files of thesame type recorded simultaneously into the HDD 58.

The restore function is a function of restoring, using an archive fileprepared in the HDD 58 using the store function, a correspondingdirectory and files which belong to the directory on the MS 4.

FIG. 99 illustrates types of directories and data files which maypossibly be recorded in the MS 4.

The file MEMSTICK.ind indicates that the recording medium in which thefile is recorded is a memory stick. The directory CDIM is a directory inwhich still picture files prepared using a digital still camera or thelike are stored. The directory VOICE is a directory in which voice filesprepared by an IC recorder or the like are stored. The directory HIFI isa directory in which contents data checked out or moved out from theaudio server 1 or the like and having copyright information annexedthereto are stored. The directory CONTROL is a directory in whichcontrol information files are stored. The directory TEL is a directoryin which telephone and facsimile information files are stored. Thedirectory OPEN-R is a directory in which entertainment robot informationfiles are stored. The directory POSITION is a directory in whichposition information files are stored. The directory PALM is a directoryin which PALM OS data files are stored. The directory MP3 is a directoryin which MP3 files are stored. The directory MSxxxxxx is a directory inwhich information files unique to a vendor are stored (“xxxxxx” isinformation for identifying the vendor).

FIG. 100 shows a recorded position of an archive file produced under thedirectory structure of the object recording area 122 of the HDD 58 bythe store function. In the same hierarchy as that of the folder objects217, an MS data object 501 is prepared. In the hierarchy below that ofthe MS data object 501, an MS store/restore object 502 is produced.Archive files (in the case of FIG. 100, MSdata#1.DCIM, MSdata#2.VOICE,and MSdata#3.DCIM) are recorded in the hierarchy below that of the MSstore/restore object 502.

It is to be noted that such a name of an archive file as “MSdata#1” canbe set arbitrarily by the user.

Subsequently, a store process by the HD MW 82 which implements the storefunction is described with reference to a flow chart of FIG. 101. Thisstore process is started when the user depresses the function button 12repetitively to select the MS 4 as the sound source, depresses themenu/cancel button 21, selects “editing” by means of the cursor button17, depresses the enter button 20, further selects “Store (MS→HDD)” bymeans of the cursor button 17 and depresses the enter button 20.

At step S501, the HD MW 82 requests the MS MW 89 to search thedirectories recorded in the MS 4 for a directory of a store object, thatis, for a directory other than the directory HIFI, calculates thecapacity of the searched out directory and displays the capacity on thedisplay unit 15.

FIG. 102 shows an example of display of the display unit 15 when the MS4 is selected as the sound source. In display areas 511 and 512,characters “MS” and “Memory Stick” representative of the sound sourceare displayed. A display mark 513 indicates a directory for storage ofstill picture files, and in the present case, it is shown that thecapacity of the directory is 8 MB. A display mark 514 indicates adirectory for voice files, and in the present case, it is shown that thecapacity of the directory is 1 MB.

Referring back to FIG. 101, at step S502, the HD MW 82 accepts anoperation of the user to select a directory of a store object and waitsthat an operation of the user is performed. FIG. 103 illustrates anexample of display of the display unit 15 wherein a list of storabledirectories is displayed. In a display area 521, informationrepresenting that a list of storable directories is displayed isdisplayed. In another display area 522, it is displayed that a storabledirectory for storage of still picture files is present and the capacityof the directory is 8 MB. In a further display area 524, it is displayedthat a storable directory for storage of voice files is present and thecapacity of the directory is 1 MB. A cursor 524 indicates the directoryfor storage of still picture files or the directory for storage of voicefiles in response to an operation for the cursor button 17.

Referring back to FIG. 101, if an operation of the user to select adirectory of a store object is performed at step 502, then theprocessing advances to step S503. At step S503, the HD MW 82 requeststhe MS MW 89 to read out all files which belong to the directoryselected as a store object and record the files as a single archive fileinto the hierarchy under that of the MS store/restore object 502 of theobject recording area 122 of the HDD 58. At step S504, the HD MW 82records the original object directory (for example, the directory DCIM)and the file name of the archive file (for example, “2001/08/11”) in amatching relationship with each other into the recorded archive file.

It is to be noted that, while the file name of the archive file can beset arbitrarily by the user, if setting of the file name is notperformed, then the date on which the store process is performed isautomatically set as the file name of the archive file like, forexample, the file name “2001/08/11”.

FIG. 104 shows an example of display of the display unit 15 while anarchive file is being prepared. In a display area 531, informationrepresenting that a directory for storage of still picture files of theMS 4 is stored in the HDD 58. In another display area 532, the file nameof the archive file being prepared (in the present case, “2001/08/11”)is displayed. In a further display area 533, a variable length bar 534which extends in proportion to an advancing situation of the storingprocess is displayed. In a still further display area 535, a charactertrain “Store” representing that the store process is being executed isdisplayed by blinking display.

Referring back to FIG. 101, at step 505, the HD MW 82 requests the MS MW89 to erase the directory on the MS 4 in which the archive file isprepared in the HDD 58 from the MS 4. The description of the storeprocess is ended therewith.

It is to be noted that it is otherwise possible not to wait for anoperation of the user to select a directory of a store object as in theprocess at step 502 but automatically select a storable directorysearched out to execute the succeeding processes.

As described above, in the store process, a storable directory can besearched out from among directories and files recorded in the MS 4.Further, a directory in which files prepared by a particular electronicapparatus are stored can be selected and stored. Furthermore, in thestore process, since the HIFI directory on the MS 4 in which fileshaving copyright information are stored is not used as an object of theprocess, the store function can be prevented from being utilized by anill-minded user who wants to illegally copy contents data stored in theHIFI directory.

Subsequently, the restore process by the HD MW 82 of restoring adirectory equivalent to an archive file stored in the HDD 58 into the MS4 is described with reference to a flow chart of FIG. 105.

This restore process is started when the user depresses the functionbutton 12 repetitively to select the HDD 58 as the sound source,depresses the menu/cancel button 21, selects “editing” by means of thecursor button 17, depresses the enter button 20, further selects“Restore (MS→HDD)” by means of the cursor button 17 and depresses theenter button 20.

At step 501, the HD MW 82 displays a list of archive files which belongto the hierarchy under that of the MS store/restore object 502 of theobject recording area 122 of the HDD 58 on the display unit 15.

FIG. 106 shows an example of display of the display unit 15 on which alist of archive files is displayed. In a display area 541, the characterstring “HDD” representative of a sound source is displayed. In anotherdisplay area 542, the character string “Restore List” is displayed. In afurther display area 543, information of restorable archive files (amark representative of the type of the file, the file name and the datacapacity) is displayed. A cursor 544 indicates the directory for storageof still picture files or the directory for storage of voice files inresponse to an operation of the cursor button 17.

Referring back to FIG. 105, at step S512, at step S502, the HD MW 82accepts an operation of the user to select an archive file to berestored, and waits until the operation by the user is performed. Moreparticularly, the HD MW 82 waits until an operation for the cursorbutton 17 to move the cursor 544 upwardly or downwardly to select anarchive file and another operation for the enter button 20 to finallydetermine the selection are performed. If such operation is performed,then the processing advances to step S513.

FIG. 107 shows an example of display of the display unit 15 while anoriginal directory and files belonging to the original directory arebeing restored based on an archive file. In a display area 551,information “Restore (HDD→MS)” representing that the directory forstorage of still picture files is being restored from the HDD 58 to theMS 4 is displayed. In another display area 552, the file name (in thepresent case, “2001/08/11”) of the archive file being restored isdisplayed. In a further display area 553, a variable length bar 554which extends in proportion to an advancing situation of the restoreprocess is displayed. In a still further display area 555, the characterstring “Restore” indicating that the restore process is being executedis displayed by blinking display.

Referring back to FIG. 105, at step 513, the HD MW 82 requests the MS MW89 to restore the original directory and all files belonging to theoriginal directory on the MS 4 based on the archive file selected as anobject of the restore. At step S514, the HD MW 82 deletes the selectedarchive file from the hierarchy under that of the MS store/restoreobject 502 of the object recording area 122 of the HDD 58. Thedescription of the restore process is ended therewith.

It is to be noted that it is otherwise possible not to wait for anoperation of the user to select an archive file of a restore object asin the process at step 512 but automatically select an archive file tobe restored and execute the succeeding processes.

FIG. 108 shows an example of a configuration of the flash ROM 52. Astartup program which is hereinafter described is stored in the flashROM 52.

Further, the flash ROM 52 includes, for example, three first to thirdstorage areas in which the firmware shown in FIG. 7 is stored forindividual versions. In particular, in the case of the present example,versions of the firmware for three generations can be stored.

A marker 1 indicating the version of the firmware stored in the firststorage area, a marker 2 indicating the version of the firmware storedin the second storage area and a marker 3 indicating the version of thefirmware stored in the third storage area are included in the startupprogram.

It is to be noted that, although details are hereinafter described, amarker is incremented by 1 every time version up of the firmware isperformed. Further, if the firmware is not stored in a correspondingarea, then the marker has a value representative of “INVALID”.

A processing procedure when version up of the firmware is performed(when the program is rewritten) is described with reference to a flowchart of FIG. 109.

It is to be noted that the process for performing version up of thefirmware is executed by firmware designated by the startup program,which is hereinafter described, when a predetermined operation isperformed for the audio server 1 by the user. However, for example,where firmware of a new version with which the firmware of an object ofthe version up is to be rewritten are stored in a CD-ROM, the CD MW 88executes this process. Where the firmware of a new version is stored inthe MS 4, the MS MW 89 executes this process. Here, it is assumed thatthe CD MW 88 executes the version up process.

At step S531, the CD MW 88 determines an area into which the firmwareafter the version up is to be stored.

More particularly, from among the marker 2 and the markers following themarker 2 of the flash ROM 52 (in the example of FIG. 108, the marker 2and the marker 3), one of those markers which are “INVALID” is detected,and the storage area corresponding to the detected marker is determinedas a area into which the firmware after the version up is to be stored.Further, if a marker which is “INVALID” is not included in the marker 2and the markers following the marker 2, the marker of the lowest numberis detected, and the area corresponding to the detected marker isdetermined as a area into which the firmware after the version up is tobe stored.

It is to be noted that, in the case of the present example, the firmwareof the oldest version is stored in the storage area corresponding to themarker of the lowest number.

At step S532, the CD MW 88 acquires, from the CD-ROM loaded in theCD-ROM drive 57, the firmware of the newest version recorded in theCD-ROM. It is to be noted that it is otherwise possible to acquire thefirmware of the new version not only from a CD-ROM but also from the MS4 or another electronic apparatus which carries out data communicationthrough the Ethernet controller/connector 67.

At step S533, the CD MW 88 supplies the firmware acquired at step S532so that the firmware may be decoded by the encoder/decoder 59 and, inthe case of the present example, re-encrypted using a cryptographic keystored in the flash ROM 52.

At step S534, the CD MW 88 writes the firmware re-encrypted at step S533into the storage area determined at step S531.

At step S535, the CD MW 88 detects the marker of the highest number fromamong the marker 2 and the markers following the marker 2 (except thosemarkers which are “INVALID”), and at step S536, the CD MW 88 determinesa marker of a number obtained by adding 1 to the marker number as amarker corresponding to the storage area in which the firmware is storedat step S534. Thereafter, the present process is ended.

As described above, version up of firmware can be performed only if theuser performs predetermined operation for the audio server 1.

Subsequently, a processing procedure in the startup program is describedwith reference to a flow chart of FIG. 110. It is to be noted that thestartup program is executed immediately after power supply to thecomponents from the power supply section 65 is started (immediatelyafter power supply).

At step S541, the startup program executes a predeterminedinitialization process such as, for example, initialization ofregisters.

At step S542, the startup program discriminates whether or not all ofthe marker 2 and the markers following the marker 2 (marker 2 and marker3) of the flash ROM 52 are “INVALID”. If it is discriminated that all ofthe marker 2 and the markers following the marker 2 of the flash ROM 52are not “INVALID”, then the processing advances to step S543.

At step S543, the startup program detects, from among those of themarker 2 and the markers following the marker 2 which are not “INVALID”,that marker m which has the highest number. At step S544, the startupprogram supplies the firmware stored in the storage area correspondingto the marker m to the encoder/decoder 59 so that the firmware isdecoded by the encoder/decoder 59, and at step S545, the startup programwrites the decoded firmware into the SDRAM 53.

If it is discriminated at step S542 that all of the marker 2 and themarkers following the marker 2 are “INVALID”, then the processingadvances to step S547, at which the startup program discriminateswhether or not the marker 1 is “INVALID”. If it is discriminated thatthe marker 1 is not “INVALID”, then the processing advances to stepS548.

At step S548, the startup program supplies the firmware in the storagearea corresponding to the marker 1 to the encoder/decoder 59 so that thefirmware is decoded by the encoder/decoder 59, and at step S549, thestartup program writes the decoded firmware into the SDRAM 53.

When the firmware is written into the SDRAM 53 at step S545 or stepS549, the processing advances to step S546, at which the startup programissues an instruction to the SDRAM 53 to execute the firmware thuswritten. Consequently, the firmware developed on the SDRAM 53 isexecuted.

If it is discriminated at step S547 that the marker 1 is “INVALID”, thatis, if the firmware is stored in no storage area and all markers are“INVALID”, then the processing advances to step S550, at which an errordetermination is performed.

When the firmware is executed at step S546 or when an errordetermination is performed at step S550, the processing is ended.

It is to be noted that, while the foregoing description is given takinga case wherein three areas into which firmware is to be stored areprovided in the flash ROM 52 as an example, there is no limitation tothe number of such areas only if the number is equal to or greater than2. Where two storage areas are involved, it is possible to set themarker of a storage area into which firmware is to be written to“INVALID” and perform writing into the storage area and then set themarker to “VALID” (accurately, a value different from that of INVALID)after the writing comes to an end. This can prevent the firmware, withwhich rewriting is proceeding, from being developed in the SDRAM 53 andexecuted.

Further, while the foregoing description is given taking a case whereinversion up of firmware is performed as an example, the present inventioncan be applied also where version up of any other program is performed.Further, the present invention can be applied not only to version up butalso where the form of a program (for example, a program for theJapanese language, a program for the English language) is to be changed.

Incidentally, while the series of processes described above can beexecuted by such an apparatus for exclusive use as the audio server 1,it may otherwise be implemented by such firmware as shown in FIG. 7installed in and executed by a personal computer for universal use.

The firmware is configured not only from a package medium such as amagnetic disk (including a floppy disk), an optical disk (including aCD-ROM (Compact Disc-Read Only Memory) and a DVD (Digital VersatileDisc)), or a magneto-optical disk (including an MD (Mini Disc)), or asemiconductor memory, which has the firmware recorded therein and isdistributed in order to provide programs separately from a computer foruniversal use, or else from a ROM or a hard disk in which the firmwareis recorded and which is provided to a user in a state wherein it isincorporated in a computer in advance.

It is to be noted that, in the present specification, the steps whichdescribe a program (firmware) may be but need not necessarily beprocessed in a time series in the order as described, and-includeprocesses which are executed in parallel or individually without beingprocessed in a time series.

INDUSTRIAL APPLICABILITY

As described above, according to the present invention, preparation ofan illegal duplicate of contents data by intentional disconnection ofthe power supply or removal of a recording medium can be prevented.

1. A recording apparatus for moving contents data between a firstinformation storage medium and a second information storage medium,characterized in that it comprises: instruction means for issuing aninstruction to move the contents data from said first informationstorage medium to said second information storage medium; moving meansfor copying, in response to the instruction from said instruction means,the contents data recorded on said first information storage medium ontosaid second information storage medium and deleting the contents datarecorded on said first information storage medium; and restorationmeans, operable when a series of processes by said moving means isinterrupted, for substantially restoring a state before the series ofprocesses by said moving means is executed or substantially completingthe series of interrupted processes by said moving means; and that saidmoving means includes: copying means for copying the contents data whichis recorded on said first information storage medium and whosereproduction is permitted as contents data whose reproduction is notpermitted onto said second information storage medium; production meansfor producing history information which indicates a start of the seriesof processes after the copying by said copying means is completed; firstchanging means for changing the contents data recorded on said firstinformation storage medium into contents data whose reproduction is notpermitted; second changing means for changing the contents data copiedon said second information storage medium by said copying means intocontents data whose reproduction is permitted; erasure means for erasingthe contents data recorded on said first information storage medium; anddeletion means for deleting the history information produced by saidproduction means.
 2. A recording apparatus according to claim 1,characterized in that said first information storage medium is abuilt-in hard disk drive, and said second information storage medium isa removable memory or a memory mounted in an electronic apparatusconnected to said recording apparatus.
 3. A recording apparatusaccording to claim 2, characterized in that, where said firstinformation storage medium is a hard disk, said restoration meanssubstantially restores, if the series of processes by said moving meansis interrupted before a process of said first changing means iscompleted, the state before the series of processes by said moving meansis executed, but said restoration means completes, if the series ofprocesses by said moving means is interrupted after a process of saidsecond changing means is completed, the series of interrupted processesby said moving means.
 4. A recording apparatus according to claim 3,characterized in that, when the process of said first changing means iscompleted and the process of said second changing means is notcompleted, said restoration means deletes the contents data recorded onsaid first information storage medium.
 5. A recording apparatus formoving contents data between a first information storage medium and asecond information storage medium, characterized in that it comprises:instruction means for issuing an instruction to move the contents datafrom said first information storage medium to said second informationstorage medium; moving means for copying, in response to the instructionfrom said instruction means, the contents data recorded on said firstinformation storage medium onto said second information storage mediumand deleting the contents data recorded on said first informationstorage medium; and restoration means, operable when a series ofprocesses by said moving means is interrupted, for substantiallyrestoring a state before the series of processes by said moving means isexecuted or substantially completing the series of interrupted processesby said moving means; and that said moving means includes: productionmeans for producing history information which indicates a start of theseries of processes; copying means for copying, after the historyinformation is produced by said production means, the contents datawhich is recorded on said first information storage medium and whosereproduction is permitted as contents data whose reproduction is notpermitted onto said second information storage medium; first changingmeans for changing the contents data recorded on said first informationstorage medium into contents data whose reproduction is not permitted;second changing means for changing the contents data copied on saidsecond information storage medium by said copying means into contentsdata whose reproduction is permitted; erasure means for erasing thecontents data recorded on said first information storage medium; anddeletion means for deleting the history information produced by saidproduction means.
 6. A recording apparatus according to claim 5,characterized in that said first information storage medium is aremovable memory or a memory mounted in an electronic apparatusconnected to said recording apparatus, and said second informationstorage medium is a built-in hard disk drive.
 7. A recording apparatusaccording to claim 6, characterized in that, where said secondinformation storage medium is a hard disk, said restoration meanssubstantially restores, if the series of processes by said moving meansis interrupted before a process of said first changing means iscompleted, the state before the series of processes by said moving meansis executed, but said restoration means completes, if the series ofprocesses by said moving means is interrupted after a process of saidsecond changing means is completed, the series of interrupted processesby said moving means.
 8. A recording apparatus according to claim 7,characterized in that, when the process of said first changing means iscompleted and the process of said second changing means is notcompleted, said restoration means deletes the contents data recorded onsaid second information storage medium.
 9. A recording apparatus whereinonly an application program for exclusive use for moving contents databetween a first information storage medium and a second informationstorage medium can be started and the application program for exclusiveuse is executed immediately after power supply is made available to saidrecording apparatus, characterized in that it comprises: an instructionsection for issuing an instruction to move the contents data from saidfirst information storage medium to said second information storagemedium; a movement control section for copying, in response to theinstruction from said instruction section, the contents data recorded onsaid first information storage medium onto said second informationstorage medium and deleting the contents data recorded on said firstinformation storage medium; a restoration control section, operable whena series of processes by said movement control section is interrupted,for substantially restoring a state before the series of processes bysaid movement control section is executed or substantially completingthe series of interrupted processes by said movement control section; acopy control section for copying the contents data which is recorded onsaid first information storage medium and whose reproduction ispermitted as contents data whose reproduction is not permitted onto saidsecond information storage medium; a production section for producinghistory information which indicates a start of the series of processesafter the copying by said copy control section is completed; a firstchange control section for changing the contents data recorded on saidfirst information storage medium into contents data whose reproductionis not permitted; a second change control section for changing thecontents data copied on said second information storage medium by saidcopy control section into contents data whose reproduction is permitted;an erasure control section for erasing the contents data recorded onsaid first information storage medium; and a deletion control sectionfor deleting the history information produced by said productionsection.
 10. A recording apparatus according to claim 9, characterizedin that, where said first information storage medium is a built-in harddisk, said restoration control section substantially restores, if theseries of processes by said movement control section is interruptedbefore a process of said first change control section is completed, thestate before the series of processes by said movement control section isexecuted, but said restoration control section completes, if the seriesof processes by said movement control section is interrupted after aprocess of said second change control section is completed, the seriesof interrupted processes by said movement control section.
 11. Arecording apparatus according to claim 10, characterized in that, whenthe process of said first change control section is completed and theprocess of said second change control section is not completed, saidrestoration control section deletes the contents data recorded on saidfirst information storage medium.
 12. A recording apparatus wherein onlyan application program for exclusive use for moving contents databetween a first information storage medium and a second informationstorage medium can be started and the application program for exclusiveuse is executed immediately after power supply is made available to saidrecording apparatus, characterized in that it comprises: an instructionsection for issuing an instruction to move the contents data from saidfirst information storage medium to said second information storagemedium; a movement control section for copying, in response to theinstruction from said instruction section, the contents data recorded onsaid first information storage medium onto said second informationstorage medium and deleting the contents data recorded on said firstinformation storage medium; a restoration control section, operable whena series of processes by said movement control section is interrupted,for substantially restoring a state before the series of processes bysaid movement control section is executed or substantially completingthe series of interrupted processes by said movement control section; aproduction section for producing history information which indicates astart of the series of processes; a copy control section for copying,after the history information is produced by said production section,the contents data which is recorded on said first information storagemedium and whose reproduction is permitted as contents data whosereproduction is not permitted onto said second information storagemedium; a first change control section for changing the contents datarecorded on said first information storage medium into contents datawhose reproduction is not permitted; a second change control section forchanging the contents data copied on said second information storagemedium by said copy control section into contents data whosereproduction is permitted; an erasure control section for erasing thecontents data recorded on said first information storage medium; and adeletion control section for deleting the history information producedby said production section.
 13. A recording apparatus according to claim12, characterized in that, where said second information storage mediumis a built-in hard disk drive, said restoration control sectionrestores, if the series of processes by said movement control section isinterrupted before a process of said first change control section iscompleted, the state before the series of processes by said movementcontrol section is executed, but said restoration control sectionsubstantially completes, if the series of processes by said movementcontrol section is interrupted after a process of said second changecontrol section is completed, the series of interrupted processes ofsaid movement control section.
 14. A recording apparatus according toclaim 13, characterized in that, when the process of said first changecontrol section is completed and the process of said second changecontrol section is not completed, said restoration control sectiondeletes the contents data recorded on said second information storagemedium.
 15. A communication apparatus for communicating data with astorage apparatus having an information storage medium, characterized inthat it comprises: a storage section capable of storing data therein; anattribute information storage section for storing attribute informationof the data stored in said storage section; an instruction section forissuing an instruction to move the data stored in said storage sectionto said information storage medium; a movement control section, operablein response to the instruction, for transferring the data of saidstorage section and the attribute information corresponding to the dataand including an invalidated reproduction permission flag to saidinformation storage medium, registering history information indicatingthat the data is being moved, changing the reproduction permission flagof the attribute information corresponding to the data of said storagesection from valid to invalid, changing the reproduction permission flagof the attribute information corresponding to the data of saidinformation storage medium from invalid to valid, deleting the data ofsaid storage section, and deleting the registered history information;and a restoration control section, operable when the moving process ofthe data by said movement control section is interrupted, forsubstantially returning the data of said storage section and the data ofsaid information storage medium to those in a state before the movementcontrol or after completion of the movement by said movement controlsection.
 16. A communication apparatus for communicating data with astorage apparatus having an information storage medium, characterized inthat it comprises: a storage section capable of storing data therein; anattribute information storage section for storing attribute informationof the data stored in said storage section; an instruction section forissuing an instruction to move the data stored in said informationstorage medium to said storage section; a movement control section,operable in response to the instruction, for registering historyinformation indicating that the data is being moved, transferring thedata of said information storage medium and the attribute informationcorresponding to the data and including an invalidated reproductionpermission flag to said storage section, changing the reproductionpermission flag of the attribute information corresponding to the dataof said information storage medium from valid to invalid, changing thereproduction permission flag of the attribute information correspondingto the data of said storage section from invalid to valid, deleting thedata of said storage medium, and deleting the registered historyinformation; and a restoration control section, operable when the movingprocess of the data by said movement control section is interrupted, forsubstantially returning the data of said storage section and the data ofsaid information storage medium to those in a state before the movementcontrol or after completion of the movement by said movement controlsection.
 17. A method for moving contents data between a firstinformation storage medium and a second information storage mediumcomprising: issuing an instruction to move the contents data from thefirst information storage medium to the second information storagemedium; copying, by a moving means, in response to the instruction, thecontents data recorded on the first information storage medium onto thesecond information storage medium and deleting the contents datarecorded in the first information storage medium; and when a series ofprocesses by the moving means is interrupted, substantially restoring astate before the series of processes by the moving means is executed orsubstantially completing the series of interrupted processes by themoving means; wherein the step of copying includes producing historyinformation which indicates a start of the series of processes; copying,after the history information is produced, the contents data which isrecorded on the first information storage medium and whose reproductionis permitted as contents data whose reproduction is not permitted ontothe second information storage medium; changing the contents datarecorded on the first information storage medium into contents datawhose reproduction is not permitted; changing the contents data copiedon the second information storage medium into contents data whosereproduction is permitted; erasing the contents data recorded on thefirst information storage medium; and deleting the history informationproduced by the production means.
 18. A computer readable medium onwhich a computer software program is stored such that when executed by acomputer it will cause the computer to move contents data between afirst information storage medium and a second information storagemedium, with the following steps: issuing an instruction to move thecontents data from the first information storage medium to the secondinformation storage medium; copying, by a moving means, in response tothe instruction, the contents data recorded on the first informationstorage medium onto the second information storage medium and deletingthe contents data recorded in the first information storage medium; andwhen a series of processes by the moving means is interrupted,substantially restoring a state before the series of processes by themoving means is executed or substantially completing the series ofinterrupted processes by the moving means; wherein the step of copyingincludes producing history information which indicates a start of theseries of processes; copying, after the history information is produced,the contents data which is recorded on the first information storagemedium and whose reproduction is permitted as contents data whosereproduction is not permitted onto the second information storagemedium; changing the contents data recorded on the first informationstorage medium into contents data whose reproduction is not permitted;changing the contents data copied on the second information storagemedium into contents data whose reproduction is permitted; erasing thecontents data recorded on the first information storage medium; anddeleting the history information produced by the production means.